[Live-devel] Payload attributes
Marlon Reid
Marlon at scansoft.co.za
Tue Nov 1 01:38:42 PDT 2011
Hi Ross,
Thanks for the reply.
I have already created my own ServerMediaSubsession subclasses for my
application. One for PCM and one for MP3. By doing this, the listener
is able to see if it is receiving a PCM stream or a MP3 stream and play
it correctly. The problem however is that I need to send attributes
along, for example the bits, frequency and channels of the PCM sample so
that the listener knows how to play it. The bits, frequency and
channels can be changed on the streamer side and this is the information
that I want in the SDPDescription or any other appropriate place.
I guess the main point is if I can put bits, channels and frequency in
the RTP stream so that the listening application can get it out and play
the sample correctly.
I hope that this is more clear.
___________________________________
Marlon Reid
Web: www.scansoft.co.za <http://www.scansoft.co.za/>
Tel: +27 21 913 8664
Cell: +27 72 359 0902
________________________________
From: live-devel-bounces at ns.live555.com
[mailto:live-devel-bounces at ns.live555.com] On Behalf Of Ross Finlayson
Sent: 01 November 2011 10:18 AM
To: LIVE555 Streaming Media - development & use
Subject: Re: [Live-devel] Payload attributes
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/84f5dee4/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: image/png
Size: 32497 bytes
Desc: SST Logo with Shadow.png
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20111101/84f5dee4/attachment-0001.png>
More information about the live-devel
mailing list