> >> Actually, I want to do something like the testMPEG2TransportReceiver >> that >> I find >> in the "LIVE555 Streaming Media" testprogs. This code reads a MPEG >> Transport/RTP stream (from the same multicast group/port), and outputs >> the >> reconstituted MPEG Transport Stream to "stdout".I test it and it works >> very well. >> My source filter will receive MPEG Transport Stream but instead >> of putting it to "stdout", I want put it to the output pin of my >> source >> filter. > > You can do this without making any changes to the > "testMPEG2TransportReceiver". Just write your 'filter' application to > read from 'stdin', and run > testMPEG2TransportReceiver | your_filter_application
Thank you. In the testMPEG2TransportReceiver when we do : sessionState.sink = FileSink::createNew(*env, "stdout"); We get the stream in stdout or a real file name could have been used instead. //According to what I understand this function allows to receive all the stream until the end: sessionState.sink->startPlaying(*sessionState.source, afterPlaying, NULL); I don't really unsterstand the role of this function :env->taskScheduler().doEventLoop(); ? So, to put the stream in my filter at the same time it is received, I make a pointer to stdout like this : byte *pDataBuff=(byte*)"stdout";//I also tried stdin pms->GetPointer(&pDataBuff); //After this operation, the output buffer pms point at the same location as the buffer pDataBuff. pms is used to put the stream in the filter But It don't work. I thought that if I used the function read() I will have to wait until all the stream is received before read it because according to what i understand startplaying() allows to receive the stream until the last packet. Am I wrong? Please can you give me some ideas to put the stream in my filter at the same time it is received. Thank you for your attention Regards, Vanessa Chodaton _______________________________________________ live-devel mailing list [email protected] http://lists.live555.com/mailman/listinfo/live-devel
