<html><body>
<p><font size="2" face="sans-serif">Thanks for the quick answer.  I have to add that I have not changed a single line of code in the source code, so I don't get it ?  My previous code was working because I implemented the same Boolean function that returns the "isCurrentNALUnitEndsAU" so the type cast was working anyway.  But now that this was changed to "Boolean& pictureEndMarker()", my work-around does not work anymore since it returns a reference to the actual Boolean in the class.  I'm writing to the mailing list specially to avoid making change to the library!</font><br>
<br>
<font size="2" face="sans-serif">Anyway, I did not remember </font><font size="3" face="serif">"sourceIsCompatibleWithUs()"</font><font size="2" face="sans-serif"> function, I wrote that code 2 years ago and I just realized that I wrongly implemented the virtual function and was returning True, that explains everything.  I was just lucky that my previous code was working.</font><br>
<br>
<font size="2" face="sans-serif">Thanks again.</font><br>
<br>
<font size="2" face="sans-serif">Serge</font><br>
<br>
<img width="16" height="16" src="cid:1__=0ABBF1D1DFFB27C78f9e8a93df@BeldenCDT.com" border="0" alt="Inactive hide details for Ross Finlayson ---2013-04-03 14:54:32---> I recently updated to the latest version of the library (Ma"><font size="2" color="#424282" face="sans-serif">Ross Finlayson ---2013-04-03 14:54:32---> I recently updated to the latest version of the library (March 23rd 2013 version) but I came acros</font><br>
<br>
<font size="1" color="#5F5F5F" face="sans-serif">From:      </font><font size="1" face="sans-serif">Ross Finlayson <finlayson@live555.com></font><br>
<font size="1" color="#5F5F5F" face="sans-serif">To:        </font><font size="1" face="sans-serif">LIVE555 Streaming Media - development & use <live-devel@ns.live555.com>, </font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Date:      </font><font size="1" face="sans-serif">2013-04-03 14:54</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Subject:   </font><font size="1" face="sans-serif">Re: [Live-devel] H264VideoRTPSink type cast issue</font><br>
<font size="1" color="#5F5F5F" face="sans-serif">Sent by:   </font><font size="1" face="sans-serif">live-devel-bounces@ns.live555.com</font><br>
<hr width="100%" size="2" align="left" noshade style="color:#8091A5; "><br>
<br>

<ul style="padding-left: 36pt"><font size="2" face="sans-serif">I recently updated to the latest version of the library (March 23rd 2013 version) but I came across a new issue with H264VideoRTPSink.  In the function doSpecialFrameHandling there is "specific" type cast of the frame source to H264VideoStreamFramer</font></ul>
<br>
<font size="3" face="serif">That's correct.  That code has been there for many years, so the fact that it is an issue for you only with this new release of the code suggests that you probably had made improper modifications to whatever version of the code you were using before.</font><br>

<ul style="padding-left: 36pt"><br>
<font size="2" face="sans-serif">but since my source is not this class, my code now crashes.</font></ul>
<br>
<font size="3" face="serif">That should not be happening, because if if you try to call "getPlaying()" on a "H264VideoRTPSink" with an object that is *not* a "H264VideoStreamFramer", you should never get to that code, because the previous call to "sourceIsCompatibleWithUs()" on line 70 of "MediaSink.cpp" should have returned False.  (This is because "H264VideoRTPSink" reimplements the "sourceIsCompatibleWithUs()" virtual function to return True only if the source object is a "H264VideoStreamFramer".)  So this suggests that you are *still* making changes to the supplied source code.  Please stop doing this, if you want to get support on this mailing list!</font><br>
<br>
<font size="3" face="serif">See:</font><br>
<a href="http://www.live555.com/liveMedia/faq.html#modifying-and-extending"><font size="3" color="#0000FF" face="serif"><u>http://www.live555.com/liveMedia/faq.html#modifying-and-extending</u></font></a><br>
<br>
<font size="3" face="serif">The bottom line is that the object that feeds into a "H264VideoRTPSink" *must* be a "H264VideoStreamFramer", or a subclass of this.  The solution is simple: Create a "H264VideoStreamDiscreteFramer" (note, *not* a "H264VideoStreamFramer") object in front of your source object (i.e., in front of the object that delivers discrete H.264 NAL units - presumably from an encoder).</font><br>
<br>
<font size="3" face="serif">Ross Finlayson<br>
Live Networks, Inc.</font><font size="3" color="#0000FF" face="serif"><u><br>
</u></font><a href="http://www.live555.com/"><font size="3" color="#0000FF" face="serif"><u>http://www.live555.com/</u></font></a><font size="3" face="serif"> </font><br>
<tt><font size="2">_______________________________________________<br>
live-devel mailing list<br>
live-devel@lists.live555.com<br>
</font></tt><tt><font size="2"><a href="http://lists.live555.com/mailman/listinfo/live-devel">http://lists.live555.com/mailman/listinfo/live-devel</a></font></tt><tt><font size="2"><br>
</font></tt><br>
<p>DISCLAIMER:

Privileged and/or Confidential information may be contained in this
message. If you are not the addressee of this message, you may not
copy, use or deliver this message to anyone. In such event, you
should destroy the message and kindly notify the sender by reply
e-mail. It is understood that opinions or conclusions that do not
relate to the official business of the company are neither given
nor endorsed by the company.

Thank You.
</p>
</body></html>