<!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>