<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div style="background-color: rgb(224, 224, 224); font-family: Arial; color: rgb(0, 0, 0); font-size: 10pt; position: static; z-index: auto; " background="" bgcolor="#e0e0e0"><div><font color="#005080" size="3" face="Trebuchet MS"><span class="802104407-01112011">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?</span></font></div></div></blockquote><div><br></div></div>You (the server developer) don't deal with SDP descriptions directly; our software takes care of this for you. <div><br></div><div>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.</div><div><br></div><div>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</div><div><span class="Apple-tab-span" style="white-space:pre"> SimpleRTPSink::createNew(</span>)</div><div>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 "<span class="Apple-tab-span" style="white-space: pre; ">SimpleRTPSink::createNew(</span>)".</div><div><br></div><div>Your RTSP client can then access the desired stream by including the desired stream name in the "rtsp://" URL.</div><div><br></div><div>Note that you should not need to modify *any* of our library code to develop your server or client.</div><br><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>