[vlc-devel] EsOutDecodersStopBuffering screws up timestamps when transcoding
Laurent Aimar
fenrir at via.ecp.fr
Tue Nov 4 20:48:28 CET 2008
On Tue, Nov 04, 2008, David Flynn wrote:
> Hi,
>
> While trying to solve an issue with timestamps, i've discoverd that time
> briefly jumps bacwards when transcoding and input_clock_ChangeSystemOrigin
> gets called within EsOutDecodersStopBuffering.
>
> Note that (B) now comes before (A). This is unfortunate, since it
> screws up everything downstream related to timestamps; ie, it isn't
> possible to produce a correct stream.
>
> If people wish to test it, the above example is avaliable with:
>
> $ git checkout -b test-df-insanity origin/master
> $ git pull git://repo.or.cz/vlc/davidf-public.git df-rawvid
>
> (Contains two patches, one to make rawvid actually do timestamps
> accurately [I'll submit this shortly for review], and another that
> adds msg_Dbg()s as above).
>
> It looks like the issue is to do with:
> input_clock_ChangeSystemOrigin( p_sys->p_pgrm->p_clock, i_ts_delay - i_buffering_duration );
>
> (if i remove that line, the clock doesn't become skewed)
>
> This issue doesn't seem to occur when not transcoding (ie playback)
The sout code in src/input/decoder.c is incomplete. I will finish it.
Thanks for the report.
--
fenrir
More information about the vlc-devel
mailing list