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

Jean-Paul Saman saman at natlab.research.philips.com
Mon Jan 19 15:47:37 CET 2004


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?)
-- 
Kind greetings,

Jean-Paul Saman



-- 
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