vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sat May 5 17:38:17 2018 +0300| [a6c20e0fb97ad41b88d62c253e1aaee167a2ad5a] | committer: Rémi Denis-Courmont
aout: make time_get callback mandatory > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a6c20e0fb97ad41b88d62c253e1aaee167a2ad5a --- include/vlc_aout.h | 11 ++++++++++- src/audio_output/dec.c | 3 --- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/include/vlc_aout.h b/include/vlc_aout.h index 2f03016986..9363532dc9 100644 --- a/include/vlc_aout.h +++ b/include/vlc_aout.h @@ -167,7 +167,16 @@ struct audio_output */ int (*time_get)(audio_output_t *, mtime_t *delay); - /**< Estimates playback buffer latency (optional, may be NULL). + /**< Estimates playback buffer latency (mandatory, cannot be NULL). + * + * This callback computes an estimation of the delay until the current + * tail of the audio output buffer would be rendered. This is essential + * for (lip) synchronization and long term drift between the audio output + * clock and the media upstream clock (if any). + * + * If the audio output clock is exactly synchronized with the system + * monotonic clock (i.e. mdate()), then aout_TimeGetDefault() can + * implement this callback. * * \param delay pointer to the delay until the next sample to be written * to the playback buffer is rendered [OUT] diff --git a/src/audio_output/dec.c b/src/audio_output/dec.c index 4fce75b2b4..253ea346dd 100644 --- a/src/audio_output/dec.c +++ b/src/audio_output/dec.c @@ -231,9 +231,6 @@ static void aout_DecSynchronize(audio_output_t *aout, mtime_t dec_pts) const float rate = owner->sync.rate; mtime_t drift; - if (unlikely(aout->time_get == NULL)) - return; - /** * Depending on the drift between the actual and intended playback times, * the audio core may ignore the drift, trigger upsampling or downsampling, _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
