<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 10.00.9200.16798"></HEAD>
<BODY 
style="WORD-WRAP: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space">
<DIV dir=ltr align=left><SPAN class=979340114-25022014><FONT color=#0000ff 
size=2 face=Arial>Hello Ross,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=979340114-25022014><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=979340114-25022014><FONT color=#0000ff 
size=2 face=Arial>I've run code analysis tool against the Live555 and found two 
suspicious places, which might be an error:</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=979340114-25022014><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=979340114-25022014><FONT color=#0000ff 
size=2 face=Arial>Live555 from 2014/02/19</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=979340114-25022014><FONT color=#0000ff 
size=2 face=Arial></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=979340114-25022014><FONT color=#0000ff 
size=2 face=Arial>H264or5VideoStreamFramer.cpp, line 696 
(681):</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=979340114-25022014>
<P><FONT size=2><FONT color=#0000ff>unsigned</FONT><FONT color=#0000ff> 
num_negative_pics = 0;</FONT></FONT></P>
<P><FONT size=2><FONT color=#0000ff>unsigned</FONT><FONT color=#0000ff> 
num_positive_pics = 0;</FONT></FONT></P>
<P><FONT size=2><FONT color=#0000ff><SPAN class=979340114-25022014><FONT 
color=#ff0000>>>></FONT> </SPAN>for</FONT> (<FONT color=#0000ff><FONT 
color=#0000ff>unsigned</FONT></FONT> j = 0; j < 
num_negative_pics+num_positive_pics; ++j) {</FONT></P></SPAN></DIV>
<DIV><SPAN class=979340114-25022014><FONT color=#0000ff size=2 face=Arial>so, 
these variables are not changed before the cycle and it's never 
run.</FONT></SPAN></DIV>
<DIV><SPAN class=979340114-25022014><FONT color=#0000ff size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=979340114-25022014><FONT color=#0000ff size=2 
face=Arial></FONT></SPAN> </DIV>
<DIV><SPAN class=979340114-25022014><FONT color=#0000ff size=2 
face=Arial>StreamParser.cpp, line 88 and 105:</FONT></SPAN></DIV>
<DIV><SPAN class=979340114-25022014><FONT color=#0000ff size=2 face=Arial><FONT 
color=#0000ff size=2><FONT color=#0000ff 
size=2></FONT></FONT></FONT></SPAN> </DIV>
<DIV><SPAN class=979340114-25022014><FONT color=#0000ff size=2 face=Arial><FONT 
color=#0000ff size=2><FONT color=#0000ff size=2>return</FONT></FONT><FONT 
color=#000000 size=2> (</FONT><FONT color=#0000ff size=2><FONT color=#0000ff 
size=2>unsigned</FONT></FONT><FONT size=2><FONT color=#000000>)lastByte &~ 
((~0)<<numBits);</FONT></DIV></FONT></FONT></SPAN>
<DIV><SPAN class=979340114-25022014><FONT color=#0000ff size=2 face=Arial><FONT 
color=#0000ff size=2><FONT color=#0000ff size=2>
<P>if</FONT></FONT><FONT size=2><FONT color=#000000> (numBits < 32) result 
&=~ ((~0)<<numBits);</FONT></P></FONT></FONT></SPAN></DIV>
<DIV><SPAN class=979340114-25022014><FONT color=#0000ff size=2 face=Arial>You 
better use (~0<STRONG>u</STRONG>)<< expression, as signed shift left is 
UB.</FONT></SPAN></DIV>
<DIV><FONT size=2></FONT> </DIV>
<DIV><SPAN class=979340114-25022014><FONT size=2><FONT color=#0000ff 
face=Arial>Regards,</FONT></FONT></SPAN></DIV>
<DIV><SPAN class=979340114-25022014><FONT color=#0000ff size=2 
face=Arial>Nikolai</FONT> </SPAN></DIV>
<DIV><BR></DIV>
<DIV lang=en-us class=OutlookMessageHeader dir=ltr align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> live-devel-bounces@ns.live555.com 
[mailto:live-devel-bounces@ns.live555.com] <B>On Behalf Of </B>Ross 
Finlayson<BR><B>Sent:</B> Sunday, February 23, 2014 7:44 AM<BR><B>To:</B> 
LIVE555 Streaming Media - development & use<BR><B>Subject:</B> Re: 
[Live-devel] Error decoding stream<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>
<BLOCKQUOTE type="cite">I was wondering if the stream received with the 
  "testmp3receiver" had any ID3 tag in it, or was it only pure mp3 
frames.</BLOCKQUOTE>
<DIV><BR></DIV>"testMP3Receiver" delivers data under the assumption that the 
incoming stream was RTP-encoded MPEG-1 or 2 audio data (i.e., including MP3) 
that was packetized according to RFC 2250.  If the server (i.e., 
transmitting application) was "testMP3Streamer", then this data should be MPEG 
audio only (no ID3 tag or anything else).  If, however, the server (i.e., 
transmitting application) was something else, then who knows...</DIV><BR><BR>
<DIV apple-content-edited="true"><SPAN class=Apple-style-span 
style="FONT-FAMILY: Helvetica; FONT-VARIANT: normal; WHITE-SPACE: normal; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; WORD-SPACING: 0px; FONT-WEIGHT: normal; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px"><SPAN 
class=Apple-style-span 
style="FONT-FAMILY: Helvetica; FONT-VARIANT: normal; WHITE-SPACE: normal; BORDER-COLLAPSE: separate; TEXT-TRANSFORM: none; WORD-SPACING: 0px; FONT-WEIGHT: normal; COLOR: rgb(0,0,0); FONT-STYLE: normal; ORPHANS: 2; WIDOWS: 2; LETTER-SPACING: normal; LINE-HEIGHT: normal; TEXT-INDENT: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">Ross 
Finlayson<BR>Live Networks, Inc.<BR><A 
href="http://www.live555.com/">http://www.live555.com/</A></SPAN></SPAN> 
</DIV><BR></BODY></HTML>