> On Mar 22, 2021, at 12:00 PM, Thorson, Joshua C <joshua.thor...@gatech.edu> > wrote: > > It seems to be an issue with the StreamParser, when it is ensuring valid > bytes the number of bytes that are needed is only 1 but the UDP source is > reading ~940 bytes. So, the if statement: fCurParserIndex + numBytesNeeded > > BANK_SIZE never becomes true, thus never switching the parser banks. I fixed > this issue by subclassing the BasicUDPSource and overriding the maxFrameSize > function to something > ~940.
Thank you. You discovered a deficiency in the “BasicUDPSource” class that prevented it from working properly with “StreamSource” subclasses. I have just installed a new version (2021.03.22) of the code that fixes this, by having “BasicUDPSource” reimplement the “maxFrameSize()” virtual function. > With this now working I now need to figure out how to hookup the > MPEG2TransportStreamDemux to the H264VideoRTPSink. I believe it should go > something like this: > > MPEGTS Multicast Stream -----> BasicUDPSource -----> > MPEG2TransportStreamDemux -----> H264VideoRTPSink > > However, I understand I don't have the ability to specify the sink for the > various demuxed elementry streams. Is there any way this could be added or > subclassed to allow such a thing? Unfortunately the current “MPEG2TransportStreamDemux” class doesn’t make it possible to do this - so I’ll need to redesign this class, in some future version of the code. (Stay tuned.) In the meantime, you can do the following: Modify the “PIDState_STREAM()” constructor in “MPEG2TransportStreamParser_STREAM.cpp” to set the “fileName” to “stdout” (perhaps only if st.dataType == StreamType::VIDEO). Then, if you want to stream via multicast, edit “testH264VideoStreamer.cpp” (in “testProgs”) to change “inputFileName” to “stdin”, then run yourDemuxerApplication | your-modified-testH264VideoStreamer Alternatively, if you want to stream via unicast, then edit “testOnDemandRTSPServer.cpp” (in “testProgs”) as follows: - on line 32, change “reuseFirstSource” from “False” to “True” - on line 101, change “inputFileName” to “stdin” Then run yourDemuxerApplication | your-modified-testOnDemandRTSPServer Ross Finlayson Live Networks, Inc. http://www.live555.com/ _______________________________________________ live-devel mailing list live-devel@lists.live555.com http://lists.live555.com/mailman/listinfo/live-devel