[vlc-devel] [PATCH] ts: fix applying pcr offset in PCRCheckDTS()
Francois Cartegnie
fcvlcdev at free.fr
Mon Feb 29 11:18:49 CET 2016
Le 29/02/2016 09:35, Petri Hintukainen a écrit :
>>> + if( i_dts > 0 && i_dts <= i_pcr ) {
>>> msg_Err( p_demux, "send queued data for pid %d: DTS
>>> %"PRId64" >= PCR %"PRId64"\n", p_pid->i_pid, i_dts, i_pcr);
>>> ParsePESDataChain( p_demux, p_pid );
>>> + } else if( i_pts > 0 && i_pts <= i_pcr ) {
>>> + msg_Err( p_demux, "send queued data for pid %d: PTS
>>> %"PRId64" >= PCR %"PRId64"\n", p_pid->i_pid, i_pts, i_pcr);
>>> + ParsePESDataChain( p_demux, p_pid );
>>> }
>>> }
>>> }
>>>
>>
>> Sorry, but It seems that logging was a debugging left-off.
>
> No, it's intentional.
>
> This code can potentially break lot of streams. Logging makes it easier
> to find and fix those.
That's the problem. I've ran into random DVB regressions showing that
debug code, which I can't reproduce at will.
Waiting now to hit those since the offset on invalid dts fix.
> This code path should not be triggered in "normal" streams. It is inten
> ded to handle sparse video streams, where last video frame is left
> hanging in the demuxer before next video frame starts.
And that's probably not the best place/way to fix it.
If you have a reproduceable case without BD drive (ts dump), then I
could have a look at it.
Francois
More information about the vlc-devel
mailing list