<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.5.7036.0">
<TITLE>"Late picture skipped" thrashing condition receiving mmsh over the Net</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->

<P><FONT SIZE=2 FACE="Arial">Problem:  VLC has some difficulty with acting as a client for mmsh Internet streaming, particularly at higher bitrates.  When running against a 1.7Mbit video stream you will get very high numbers of "late picture skipped" debug messages, which then roll into other video-type warning and error messages.  In sdome cases VLC will recover, though the play remains poor (many sections of garbled video, with late picture messages), while in other cases the video pretty much goes belly up -- the software won't recover, keeps generating video-type warnings and errors.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">In video_output.c, I dropped a debugging statement at Line 815:</FONT>

<BR><FONT SIZE=2 FACE="Arial">msg_Warn( p_vout,"%d", p_picture->date);</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">(I know, I know, I should have used a different format specifier -- it ends up printing out negative numbers)</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">This is immediately before the condition test which generates the "late picture skipped" messages.</FONT>
</P>

<P><FONT SIZE=2 FACE="Arial">I connected to one of Trax' high-speed test streams.  What you see is the PTS changing by 40000 per frame, consistent with 25 fps play.    You'll see a couple of small repeats, but the proper general trend as frames get processed, then it appears that things get stuck -- the one frame with "PTS" 1282412506 is "stuck" -- that value is repeated 15 times in the code until a new frame makes it in.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">This is probably just normal TCP processing over the Net -- every once in a while there will be a bad packet, a retransmit needed.</FONT></P>

<P><FONT SIZE=2 FACE="Arial">Anyhow, once a new PTS frame finally comes in, VLC declares an error, with frame drop.  New frames keep on coming in, showing the proper PTS change of 40000, but VLC keeps declaring them "bad".</FONT></P>

<P><FONT SIZE=2 FACE="Arial">(Eventually, if the underlying connection error rate is very low, VLC throws a few other buffer errors, resyncs, starts playing video again.   Unfortunately, this state of frozen/garbled video occurs any time there is a delay on a given frame.)</FONT></P>

<P><FONT SIZE=2 FACE="Arial">I am not sure what the right thing to do is, just trying to provide information for people to look at.  Perhaps there should be some internal feedback to reestablish the clock baseline, else video_output.c maybe needs to pick up a "delta" variable to handle a reset for such a missing/late frame.  (the late frame was only that first one, the others, best I can tell, really were OK, on time).</FONT></P>

<P><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1283055206           Generally good here -- we're seeing the PTS' changing by 40000</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1283015206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282975206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282935206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282895206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282855206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282815206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282775206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282735206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282695206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282655206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282615206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282574206            Small "burp"</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282574206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282574206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282535206            Got a new value</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282535206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282495206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282455206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206             Start of the problem -- we're stuck with the frame having PTS 128415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282415206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282375206             Finally get the next actual frame </FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (210486)      I believe this is an OK error.</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282335206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (191746)   This, and the following errors, are suspicious -- we should possibly be resetting the PTS basline</FONT></P>

<P><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">computed PTS is out of range (27764), clearing out</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">PTS is out of range (13618), dropping buffer</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">output PTS is out of range (40630), clearing out</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282295206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (360101)     and not just keep declaring error</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282255206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (341254)</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282215206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (408276)</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282175206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (375023)</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282135206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (355058)</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">computed PTS is out of range (161497), clearing out</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">PTS is out of range (150185), dropping buffer</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">output PTS is out of range (161807), clearing out</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">PTS is out of range (65177), dropping buffer</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282095206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (498671)</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282055206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (480323)</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1282015206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (504670)</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1281975206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (485130)</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">-1281935206</FONT>

<BR><FONT COLOR="#000000" SIZE=1 FACE="MS Shell Dlg">main warning:</FONT> <FONT COLOR="#0000FF" SIZE=1 FACE="MS Shell Dlg">late picture skipped (465644)</FONT>
</P>

</BODY>
</HTML>