Hi Ross,<div><br></div><div>I am trying to implement my app as suggested in the previous mail. </div><div><br></div><div>In the testRTSPClient app, after calling "rtspClient->sendDescribeCommand(continueAfterDESCRIBE); " the program enters the doEventLoop. </div>
<div>Rest of the processing is done in asynchronous callbacks. </div><div><br><div>you mentioned >> Call "startPlaying()" on each of these 'sink' objects before entering the doEventLoop.</div><div>
<span style="background-color:rgb(255,255,255)"><font face="arial, sans-serif">StreamReplicator cannot be initialized  before entering </font></span><font face="arial, sans-serif">doEventLoop. </font></div><div>(Am I understanding it wrong here)</div>
<div><br></div><div>I called startPlaying() on the sink objects in continueAfterPLAY function and got this error.</div><div>"FramedSource[0x10b001ad0]::getNextFrame(): attempting to read more than once at the same time!"</div>
<div><br></div><div>Regards,</div><div>Sambhav</div><br><div class="gmail_quote">On Thu, Jan 19, 2012 at 11:43 AM, Sambhav <span dir="ltr"><<a href="mailto:isambhav@gmail.com">isambhav@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thanks a lot. This is exactly what I need for my application. <br><br><div class="gmail_quote"><div><div></div><div class="h5">
On Thu, Jan 19, 2012 at 11:27 AM, Ross Finlayson <span dir="ltr"><<a href="mailto:finlayson@live555.com" target="_blank">finlayson@live555.com</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class="h5"><div style="word-wrap:break-word"><div><div><blockquote type="cite">I have a low end device with Live555 RTSP server serving live H264 stream. <div>

<br><div>My application needs acts as a RTSP client and do the following 2 things</div><div>a) Store this H264 data in mp4 format.</div><div>b) Re - stream the H264 data to  another application(can be more than one) for a doing some other processing. </div>


<div><br></div><div>feature a) can be directly done using the current Live555 library. </div><div>To implement feature b) one option is , my application has to packetize the elementary H264 data into RTP and stream this data on a UDP socket. </div>

</div></blockquote><div><br></div></div>OK, this is completely different to what you were asking about before.  You don't need to 'receive RTP packets' at all.</div><div><br></div><div>You can do what you want to do by using the new "StreamReplicator" class (see the "testReplicator" demo application for hints on how to use this).</div>

<div><br></div><div>First, take the incoming H.264 NAL unit stream from your RTSP client (i.e., from "subsession->readSource()") and feed it into a new "StreamReplicator" object.</div><div><br></div>

<div>Then create two 'replica' streams (using "createStreamReplica()") from the "StreamReplicator" object.</div><div><br></div><div>Use one replica for your 'mp4' file output (i.e., a "QuickTimeFileSink").  Use the other replica for streaming (using a "H264VideoStreamDiscreteFramer" fed into a "H264VideoRTPSink").  Call "startPlaying()" on each of these 'sink' objects before entering the event loop.</div>

<div><br><br><div>
<span style="border-collapse:separate;color:rgb(0,0,0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium"><span style="border-collapse:separate;color:rgb(0,0,0);font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium">Ross Finlayson<br>

Live Networks, Inc.<br><a href="http://www.live555.com/" target="_blank">http://www.live555.com/</a></span></span>
</div>
<br></div></div><br></div></div><div class="im">_______________________________________________<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>
<br></div></blockquote></div><br>
</blockquote></div><br></div>