Hi, <div><br></div><div>I have created a subclass of MediaSink which process the received data. I am using this instead of FileSink. </div><div><br></div><div>I am able to see MultiFramedRTPSource::doGetNextFrame1() getting called before I start playing streams. It also calls my afterGettingFrame() and continuePlaying() function. All this works fine.</div>
<div><br></div><div>Problem starts when it get into doEventLoop(). I see MultiFramedRTPSource::doGetNextFrame1() getting called but it does not call the afterGetting(this); (at line number 195). </div><div><br></div><div>
I investigated and found that packet-&gt;rtpMarkerBit(); in  MPEG4ESVideoRTPSource::processSpecialHeader() always returns 0 because of which it does not get into the loop.</div><div><br></div><div>Could you please help me understand what should be done to make this work.</div>
<br><div class="gmail_quote">On Tue, Dec 1, 2009 at 12:16 PM, Ross Finlayson <span dir="ltr">&lt;<a href="mailto:finlayson@live555.com">finlayson@live555.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I believe it is possible to have the streams in buffer but not clear how? I went through RTPSource class which has a function pointer setAuxilliaryReadHandler(). As I understand this is for registering a handler for processing RTP read.<br>

</blockquote>
<br></div>
&quot;setAuxilliaryReadHandler()&quot; is a hack that should not be used.  I don&#39;t think anyone uses it anymore, and it will likely be removed from a future release of the code.  In any case, it provides access to raw RTP packets (i.e., including RTP headers) - and that&#39;s *not* what you want.<div class="im">
<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
After long discussion and research we had decided to make use of live555 stack as it is widely used (and tested). I have gone through the openRTSP.cpp which actually saves all the streams to a file. I do not want to record streams in a file and read from the file as this will have latency.<br>

</blockquote>
<br></div>
OK, then your solution is straightforward.  You need to write your own subclass of &quot;MediaSink&quot; that does whatever you want to do with the incoming data, and use that *instead of* &quot;FileSink&quot;.<br>
<br>
(Or, if your incoming stream is video-only (or audio-only), then you could use the &quot;-v&quot; (or &quot;-a&quot;) option to &quot;openRTSP&quot;, and pipe it into a separate application (that reads from stdin) that processes it.)<br>

-- <br><font color="#888888">
<br>
Ross Finlayson<br>
Live Networks, Inc.<br>
<a href="http://www.live555.com/" target="_blank">http://www.live555.com/</a><br>
_______________________________________________<br>
live-devel mailing list<br>
<a href="mailto:live-devel@lists.live555.com" target="_blank">live-devel@lists.live555.com</a><br>
<a href="http://lists.live555.com/mailman/listinfo/live-devel" target="_blank">http://lists.live555.com/mailman/listinfo/live-devel</a><br>
</font></blockquote></div><br>