[vls-devel] Re: Occasional crazy problem with vls

Andrew de Quincey adq_dvb at lidskialf.net
Mon Jan 19 15:54:08 CET 2004


On Monday 19 January 2004 14:47, Jean-Paul Saman wrote:
> Andrew de Quincey wrote:
> >>But did your clients expirience a still frame or black frame for some
> >>time when copying the large file ? you haven't answered this question.
> >
> > No. On VLC, the first thing I see wrong is the speeded up play. No stills
> > or black frames.
> >
> > On our STBs, which are (unfortunately) far less tolerant to problems, all
> > kinds of crap happens... jitter, mpeg blocking, black frames...
>
> Hmm, sounds like another problem we solved earlier with VLS. It turned
> out that with *weird* PCR values strange things happen (Weird in the
> sense of a broken MPEG clock timeline). It should be solved in the CVS,
> unfortunately I do not know which branch has that fix and which doesn't.
>
> > In the meantime, I've found what causes this bad reaction to load in VLS:
> >
> > inline void C_TsStreamer::WaitSendDate(C_TsPacket* pPacket)
> >
> > I added the following debug code to this function:
> >   if (iWait < -20000) {
> >      printf("Weird iWait %lli\n", iWait);
> >   }
> >
> > Now, whenever the problem occurs, I see loads of prints saying "Weird
> > iWait". VLC immediately starts showing the accelerated video frames,
> > until the file loop occurs.
> >
> > If I change this code to:
> >   if (iWait < -20000) {
> >      InitClock(pPacket);
> >   }
> > (modifiying WaitSendDate() to take the current pPacket, and the call to
> > it to pass it)
>
> Check the archive something like this is fixed with the interpolation
> code, while streaming. It turned out that when the PCR values are off or
> strange, either long stalls or bursts were happening.
>
> > So: if it sees one of the out of range iWait values, it knows there has
> > been a delay, and re-initialises the stream clock. The STB and VLC both
> > seem to work perfectly normally with this in place.
> >
> > What do you think? This at least means the runaway problem no longer
> > occurs, and I'll make it log as you suggest so that people know when
> > their systems are overloaded.
>
> I think the clock should be reinited, but it would be easier if you told
>   which VLS version you are using. (or maybe I missed it?)

Its a CVS snapshot from 21 Oct 2003 with my recent fixes for PS streaming 
problems patched on top of it. The reason I'm not using the most recent is 
simply time: I don't have the time right now to do a full test to ensure 
everything is working... and I don't fancy deploying an untested version to 
all our clients.

It does include the modifications to the interpolation code you are talking 
about.

-- 
This is the vls-devel mailing-list, see http://www.videolan.org/streaming/
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 vls-devel mailing list