Commits on Source (9)
-
1ffb6b62
-
The header felt weird with this extra spacing to separate the type, and the spacing wasn't even the same for every function.
e623cd10 -
If we don't have listener, there's nothing to update anyway, so save an indentation level and early return at the beginning instead.
c2afd2ef -
Use a generic clock listener instead of the vlc_clock_t based-one so that we can attach a different listener to the input clock, in particular in the case of tests. The change moves some code back to the es_out.c file, which we try to simplify, but the creation of the clock and buffering handling as a whole might be moved somewhere else someday.
79ccc8a6 -
cl->last points to the last point tracked by the clock, ensure it is set to an invalid point like cl->ref when resetting the clock. The assignment is not needed per se but since we were setting ref, this allows for easier debugging and tracing.
adc05ec0 -
input_clock_Update() is returning a value representing whether too much buffer has been consumed or not, but it doesn't use any external value to compute it. After the update, the input_clock is running UpdateListener() to update any code that would use the value reported by the input buffering, and specifically the vlc_clock_t when running inside the es_out. This was triggering a vlc_clock_Update(). vlc_clock_Update() returns the drift of the updated clock compared to the current playback time. It wasn't used for the input clock because this drift is always zero when the updated clock is driving the clock bus ("master clock") and the vlc_clock_t was not added as a listener when the input clock was not driving the clock bus. The drift value will be reported from the clock update to the input clock. It currently has no usage except tracing, but the usage will replace the i_late computation in the es_out.c in the end.
87439bb1 -
When the input is not selected to drive the clock bus, no vlc_clock_t was assigned to track the drift of the input when compared to the audio clock or other clocks, meaning that there was no way to inspect the behaviour of the input buffering when not master. This commit refactors the input vlc_clock_t creation to always have a vlc_clock_t and always update it.
c5e72f07 -
The function is specific to clock and not used anywhere else.
d57c3156 -
Drift includes information relative to how much the given clock is out-of-sync with the main source of time for the current playback, and tracing its value highlight some particular behaviour regarding the output and how the input buffering is handled.
1901c5de
Showing
- include/vlc_tracer.h 0 additions, 25 deletionsinclude/vlc_tracer.h
- src/clock/clock.c 47 additions, 12 deletionssrc/clock/clock.c
- src/clock/input_clock.c 26 additions, 17 deletionssrc/clock/input_clock.c
- src/clock/input_clock.h 41 additions, 9 deletionssrc/clock/input_clock.h
- src/input/es_out.c 65 additions, 22 deletionssrc/input/es_out.c