[FFmpeg-devel] [PATCH] av_get_delay

Nicolas George nicolas.george at normalesup.org
Thu Jun 30 20:01:48 CEST 2011


Le duodi 12 messidor, an CCXIX, Michael Niedermayer a écrit :
> These are both bad actually.
> the reason is they are non constant and that on a normal multitasking
> OS the results will be unreliable because time can pass between 2
> get delay calls or any get time call.
> 
> the obvious solution would be to
> * Consider a media stream to be a continuous stream not made of samples
>   or frames
> * Return as delay the pair of (wallclock, current presented position in
>   sufficeint high precission)
> 
> The advnatage is that the (correctly scaled) difference between these
> 2 would be truly constant up to the drift of the (sound/video)
> device clock and the system clock.
> 
> So the timing of when to do the call becomes irrelevant.
> and AV sync can be achived by doing such a call for video and one for
> audio and then compensating either stream by the difference. And that
> works even when the 2 calls are done some time appart.

That sounds reasonable.

I join the patches required to implement that in ALSA.

I had to use a separate av_gettime because snd_pcm_htimestamp hangs on dmix
plugins like it hangs on dsnoop, and while this is a minor annoyance for
capture, this is a complete feature breaker for playback.

Also, at some time snd_pcm_htimestamp seems to have started reporting
monotonic timestamps rather than wall time: I'll have to find a way to fix
the demuxer. But this is a completely different issue.

Regards,

-- 
  Nicolas George
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20110630/f0721eb7/attachment.asc>


More information about the ffmpeg-devel mailing list