I have built a test client that is nothing more than "testMPEG2TransportStreamer.exe" with a BasicUSPSource instead of a FileSource. When I make this change the streamer runs into the following issue that it does not have using a FileSource. Everything else about the streamer is the same. I have included the changed code.<br>
<br>I have to have the client connected to the RTSP server before the transport streamer starts streaming and all new clients that connect have to wait until the transport streamer is stopped and restarted to start seeing anything. I have tried moving the server to a different computer and this did not fix the issue.<br>
<br>Between this test client and the issues I was seeing before, it seems like the BasicUDPSource is where the problem lies, I have not been able to point to an exact place in the code yet though.<br><br>Is anyone familiar with BasicUDPSource and is this expected behavior? Am I missing something in the initialization or set up?<br>
<br>Any help would be appreciated.<br><br>I replaced the play() function with the following code in "testMPEG2TransportStreamer.cpp" :<br><br> struct in_addr inputAddress;<br> inputAddress.s_addr = NULL;//Raw UDP incoming<br>
portNumBits inPortNumBits = 5544;<br> const Port inputPort(inPortNumBits);<br> Groupsock* inputGroupsock = new Groupsock(*env,inputAddress,inputPort,255);<br><br> <br> //create source<br> FramedSource* udpSource = BasicUDPSource::createNew(*env,inputGroupsock);<br>
<br> // Create a 'framer' for the input source (to give us proper inter-packet gaps):<br> videoSource = MPEG2TransportStreamFramer::createNew(*env, udpSource); <br> videoSink->startPlaying(*videoSource,afterPlaying,videoSink);<br>