[Live-devel] RTP source filter
Vanessa CHODATON
vanessa.chodaton at etu.univ-nantes.fr
Thu May 1 09:10:56 PDT 2014
>
>> 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
More information about the live-devel
mailing list