<div><div dir="auto">Hi Ross,</div></div><div dir="auto"><br></div><div dir="auto">It turns out I was copying the stream before it was fully initialized. Thanks for pointing out the differences from the sample code too!</div><div dir="auto"><br></div><div dir="auto">Chris</div><div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Feb 22, 2019 at 5:16 PM Ross Finlayson <<a href="mailto:finlayson@live555.com">finlayson@live555.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">You seem to be on the right track (though I can’t address whatever specific problems you are having, because the word “issues” isn’t very descriptive :-)<br>
<br>
It’s important to do things in the right order, specifically:<br>
1/ Call “initiate()” on your “MediaSubsession” object (to create RTP source objects)<br>
2/ Call<br>
        StreamReplicator* streamReplicator = StreamReplicator::createNew(env, mediaSubsession->.readSource())<br>
  to create a replicator object.<br>
3/ Call<br>
        FramedSource* replica1 = streamReplicator->createStreamReplica();<br>
        FramedSource* replica2 = streamReplicator->createStreamReplica();<br>
4/ Call<br>
        mediaSubsession->addFilter(replica1);<br>
   to tell the downstream “QuickTimeFileSink” object (to be created next) to read from the (first) replica.<br>
5/ Call<br>
        QuickTimeFileSink::createNew()<br>
   on your “MediaSubsession” object.<br>
6/ Create appropriate filter(s) and sink for creating a Transport Stream from “replica2”.  This will be similar to the code in “testH264VideoToTransportStream.cpp”, ***except that*** you must use a “H264VideoStreamDiscreteFramer” rather than a “H264VideoStreamFramer”.  (This is because your input source (“replica2” in this case) will be a sequence of discrete H.264 NAL units, rather than an unstructured byte stream (e.g., from a file.)<br>
7/ Call “startPlaying()” on each of your sinks (the “QuickTimeFileSink” that you created in step 5/, and the sink (“FileSink”?) that you created in step 6/.<br>
<br>
<br>
Ross Finlayson<br>
Live Networks, Inc.<br>
<a href="http://www.live555.com/" rel="noreferrer" target="_blank">http://www.live555.com/</a><br>
<br>
<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" rel="noreferrer" target="_blank">http://lists.live555.com/mailman/listinfo/live-devel</a><br>
</blockquote></div></div>