[vlc-devel] Re: (hopefully) simple question on stream clocking
Jean-Paul Saman
saman at natlab.research.philips.com
Mon Sep 8 12:04:49 CEST 2003
John Michael Zorko wrote:
>
> Hello, all ...
>
> After implementing the TS discontinuity indicator setting code, and
> resetting the decoders on the client when this bit is detected in the TS
> packet, and making sure I seek to an E0 packet (video ES) with a
> sequence header, 95% of the macroblocking artifacts I see on the client
> when the server VLC does a seek on the stream are gone. The few that
> are left may be due to open GOPs, but i'll worry about that later.
> Thanks to everyone who posted hints on how to do this -- it's appreciated!
>
Could be or you forgot to set the TS discontinuity bit on other pid's
too! After a seek ALL PIDs in the stream need to be told that a
discontinuity happend (video,audio,teletext,PCR packets).
> Now, i've a (hopefully) simple question ... sometimes the client VLC
> stops updating the video after the server VLC seeks. I've verified that
> the server VLC seeked to where I wanted it to (the E0 PES packet with a
> sequence header). Sometimes it recovers after a second or two,
> sometimes it takes far longer (10-20 seconds), sometimes never. This is
> sometimes accompanied by the infamous "decoder stuck" message, which
> implies that the vout thread is the culprit i.e. perhaps on an mwait()
> waiting to display a frame. On the server, all it does is call
> input_Seek() to the position I want, then set the TS discontinuity
> indicator. I don't do anything different with the PTS i.e. the TS muxer
> does what it always did, it just sets the TS discontinuity indicator
> when it should now.
Looks like a forgotten TS flag. Is there a way you can verify this?
>
> The client, when it sees the TS discontinuity indicator on, does
> input_EscapeDiscontinuity() -- nothing else special. Yet sometimes
> (after a lot of seeking on the server), the vout thread hangs. Does the
> server VLC need to do something special to the PTS after a seek,
> something that it normally doesn't need to do?
>
AFAIK you should not tinker with the PTS. If you do the DTS and PCR's
need to be updated too, this will actually equal to a decode-encode
cycle (reencode the audio/video).
--
Kind greetings,
Jean-Paul Saman
--
This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
To unsubscribe, please read http://developers.videolan.org/lists.html
If you are in trouble, please contact <postmaster at videolan.org>
More information about the vlc-devel
mailing list