[Live-devel] Payload attributes

Ross Finlayson finlayson at live555.com
Tue Nov 1 01:17:56 PDT 2011


> I want my application to be able to stream different streams of the same type, but with different attributes.  For example, I want to stream a 44100khz PCM and a 22050khz PCM.  The application that receives the stream will play the one selected by the user.  The question is how can I add this information to the SDP description.  Should I create one for every type e.g. PCM 16 44100 stereo, PCM 8 22050 mono and add it to the lookupPayloadFormat function in MediaSession.cpp?  What about the information not provided for in the function, such as kpbs?

You (the server developer) don't deal with SDP descriptions directly; our software takes care of this for you.  

Because you want your server to support streaming different streams (selected by the user), these should be separate "ServerMediaSession" objects (each with a separate stream name).  Each of these "ServerMediaSession" objects will have a single "ServerMediaSubsession" (subclass) member.

You, as a server developer, will need to define and implement your own "ServerMediaSubsession" subclass for your PCM streams.  You may find it useful to use the "WAVAudioFileServerMediaSubsession" code as a model for this.  As always, you will need to implement the virtual functions "createNewStreamSource()" and "createNewRTPSink()".  In particular, you will implement "createNewRTPSink()" by calling
	SimpleRTPSink::createNew()
with appropriate parameters (again, you may find it useful to use the "WAVAudioFileServerMediaSubsession" code as a model).  Our server code will automatically generate an appropriate SDP description for each stream, based on the parameters that you gave to "SimpleRTPSink::createNew()".

Your RTSP client can then access the desired stream by including the desired stream name in the "rtsp://" URL.

Note that you should not need to modify *any* of our library code to develop your server or client.


Ross Finlayson
Live Networks, Inc.
http://www.live555.com/

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111101/59960fb3/attachment.html>


More information about the live-devel mailing list