[Live-devel] Understanding live555 flow for RTSP client implementation

Ashish Mathur mail2ashi.86 at gmail.com
Wed Sep 28 23:14:04 PDT 2011


Hi,
I am trying to implement a RTSP client application for STB. All i want is
streamed RTSP over RTP data to be available for my STB(which will then
decode it). I want to put the data packet by packet inside a buffer that can
be read by a thread continuously in my STB application. This buffer must be
filled packet by packet by RTSP client application.
For this i create a BufferSink class object(derived from MediaSink class).
This class contains the buffer from where my STB application wants to read
the data.
I wanted to confirm if i understand the following correct:
I understand that data from network sockets is read to RTPSource by live555
code. So, the next thing after instantiating the Buffersink class will be to
tranfer data from RTPSource to BufferSink's buffer. And i want this to
happen packet by packet.
1) For the above requirement shall i call
mediasubsession->sink->startPlaying(mediasubsession->readSource()..) which
maps to MediaSink->startPlaying() and then calls continueplay() which is
implemented in BufferSink class? Inside continueplay() i can call
getNextFrame() with the help of fsource object to get the next packet?
The STB application thread which will be reading from BufferSink's buffer
shall be responsible for calling mediasubsession->sink->startPlaying()
whenever new data is required.

2) Also it will be helpful if you can clarify that when data is avaliable to
RTPSource from the network sockets? Is it when doGetNextFrame() is called by
getNextFrame() ??

Please correct me if i am wrong.


Regards,
Ashish
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20110929/38035dd7/attachment-0001.html>


More information about the live-devel mailing list