<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=us-ascii" http-equiv=Content-Type>
<META name=GENERATOR content="MSHTML 9.00.8112.16437"></HEAD>
<BODY 
style="WORD-WRAP: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space">
<DIV dir=ltr align=left><SPAN class=141323108-01112011><FONT color=#005080 
face="Trebuchet MS">Hi Ross,</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=141323108-01112011><FONT color=#005080 
face="Trebuchet MS"></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=141323108-01112011><FONT color=#005080 
face="Trebuchet MS">Thanks for the reply.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=141323108-01112011><FONT color=#005080 
face="Trebuchet MS"></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=141323108-01112011><FONT color=#005080 
face="Trebuchet MS">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.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=141323108-01112011><FONT color=#005080 
face="Trebuchet MS"></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=141323108-01112011><FONT color=#005080 
face="Trebuchet MS">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.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=141323108-01112011><FONT color=#005080 
face="Trebuchet MS"></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=141323108-01112011><FONT color=#005080 
face="Trebuchet MS">I hope that this is more clear.</FONT></SPAN></DIV>
<DIV dir=ltr align=left><SPAN class=141323108-01112011><FONT color=#005080 
face="Trebuchet MS"></FONT></SPAN> </DIV>
<DIV dir=ltr align=left><SPAN class=141323108-01112011><FONT color=#005080 
face="Trebuchet MS"></FONT></SPAN> </DIV>
<DIV> </DIV>
<DIV align=left><FONT color=#005080 
face="Trebuchet MS"><STRONG>___________________________________</STRONG></FONT></DIV><STRONG><SPAN 
class=414354409-10092010>  </SPAN><BR></STRONG>
<DIV align=left><FONT color=#005080 face="Trebuchet MS"><SPAN 
class=414354409-10092010><FONT color=#000000 face=Arial><STRONG><FONT 
color=#005080 size=2 face="Trebuchet MS">Marlon 
Reid</FONT> </STRONG></FONT></SPAN></FONT></DIV><BR>
<DIV align=left><FONT color=#909090 size=1 
face="Trebuchet MS"></FONT></DIV><STRONG><IMG border=0 hspace=0 alt="" 
align=baseline src="cid:141323108@01112011-3333"><BR></STRONG>
<DIV align=left><FONT color=#909090 size=1 face="Trebuchet MS"><STRONG>Web: 
</STRONG><A title=http://www.scansoft.co.za/ 
href="http://www.scansoft.co.za/"><STRONG 
title=http://www.scansoft.co.za/>www.scansoft.co.za</STRONG></A></DIV>
<DIV align=left><FONT color=#909090 size=1 
face="Trebuchet MS"><STRONG>Tel:  +27 21 913 8664</STRONG></FONT></DIV>
<DIV align=left><FONT color=#909090 size=1 face="Trebuchet MS"><STRONG>Cell: +27 
72 <SPAN class=414354409-10092010><FONT color=#000000 size=2 
face=Arial> <FONT color=#909090 size=1 face="Trebuchet MS">359 
0902</FONT> </FONT></SPAN></STRONG></FONT></DIV></FONT>
<DIV><FONT size=2 face=Arial></FONT> </DIV>
<DIV> </DIV><BR>
<DIV dir=ltr lang=en-us class=OutlookMessageHeader align=left>
<HR tabIndex=-1>
<FONT size=2 face=Tahoma><B>From:</B> live-devel-bounces@ns.live555.com 
[mailto:live-devel-bounces@ns.live555.com] <B>On Behalf Of </B>Ross 
Finlayson<BR><B>Sent:</B> 01 November 2011 10:18 AM<BR><B>To:</B> LIVE555 
Streaming Media - development & use<BR><B>Subject:</B> Re: [Live-devel] 
Payload attributes<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV>
<BLOCKQUOTE type="cite">
  <DIV 
  style="Z-INDEX: auto; POSITION: static; BACKGROUND-COLOR: rgb(224,224,224); FONT-FAMILY: Arial; COLOR: rgb(0,0,0); FONT-SIZE: 10pt" 
  bgcolor="#e0e0e0" background="">
  <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 style="WHITE-SPACE: pre" 
class=Apple-tab-span>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 style="WHITE-SPACE: pre" 
class=Apple-tab-span>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 
style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; FONT: medium Helvetica; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); 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" 
class=Apple-style-span><SPAN 
style="WIDOWS: 2; TEXT-TRANSFORM: none; TEXT-INDENT: 0px; LETTER-SPACING: normal; BORDER-COLLAPSE: separate; FONT: medium Helvetica; WHITE-SPACE: normal; ORPHANS: 2; COLOR: rgb(0,0,0); 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" 
class=Apple-style-span>Ross Finlayson<BR>Live Networks, Inc.<BR><A 
href="http://www.live555.com/">http://www.live555.com/</A></SPAN></SPAN> 
</DIV><BR></BODY></HTML>