<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class=""><div class="WordSection1" style="page: WordSection1; font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">I get this part now, but what I still don't get is how to pass incoming data from RSTPClient to H264VideoStreamFramer. The constructor for it is:<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Consolas;" class="">H264VideoStreamDiscreteFramer::createNew(UsageEnvironment& env, FramedSource* inputSource) {<o:p class=""></o:p></span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class=""> </span></div><div style="margin: 0in 0in 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;" class=""><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);" class="">A FramedSource input, but RSTPClient is not a FramedSource. Don't see any framed source in it.</span></div></div></div></blockquote><div><br class=""></div>Several times now, I have pointed you at code (‘testRTSPClient.cppâ€) that illustrates how to do this. If you look at this code, you’ll see that you don’t feed a “RTSPClient†into anything. Instead, you use a “RTSPClient†to create a “MediaSession†object (which in turn will contain “MediaSubsession†objects - one for each audio or video track in the stream). Once you’ve used the “RTSPClient†to create these objects (using the RTSP protocol, as illustrated by the “testRTSPClient†application code (yet again :-(), you then feed each “MediaSubsession::readSource()†object into whatever you want.</div><div><br class=""></div><div>So, you *could*, in principle, feed the “MediaSubsession::readSource()†object into a “H264VideoStreamDiscreteFramer†(*not* into a “H264VideoStreamFramerâ€, because that’s for unstructured byte-stream input). I’m not sure why you’d want to do this, though. You’d need to do this *only* if you plan to re-transmit the H.264 video (by feeding it into a “H264VideoRTPSinkâ€).</div><div><br class=""></div><div><br class=""></div><div><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1;"><div class=""><span style="color: rgb(31, 73, 125); font-family: Calibri, sans-serif; font-size: 11pt;" class="">I'm sure this is this is a lame question as you all are familiar with live555 and this seems every day simple, but to me it seems somewhat insurmountable. What makes a framed source a framed source?</span></div></div></blockquote><div><br class=""></div>A “Framed Source†is simply an object that delivers chunks of data (which we call ‘frames’ in the code).</div><div><br class=""></div><div><br class=""><blockquote type="cite" class=""><div class="WordSection1" style="page: WordSection1;"><div class=""><span style="color: rgb(31, 73, 125); font-family: Calibri, sans-serif; font-size: 11pt;" class=""> If it's a FramedSource, then why does it need a framer? </span></div></div></blockquote><div><br class=""></div>It usually doesn’t. I don’t know where you got the idea that you need to feed your incoming H.264 video data into a ‘Framer’. As I noted above, you would do this only if you plan to re-transmit the incoming H.264 video NAL units.<blockquote type="cite" class=""><div class=""></div></blockquote></div><div><br class=""></div><div>But in any case, this thread has gone on long enough. (Note that this mailing list has more than 2000 members.) So this will be my - and your - last posting on this subject.</div><br class=""><div apple-content-edited="true" class="">
<span class="Apple-style-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; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 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="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; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 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 class="">Live Networks, Inc.<br class=""><a href="http://www.live555.com/" class="">http://www.live555.com/</a></span></span>
</div>
<br class=""></body></html>