Subject: Re: [MMUSIC] SDP for alternative encodings

From: [email-masked]
Date: Wed, 2 Mar 2005 08:32:54 +1100

Aaron,
        A colleague also pointed out in the second example (if my 
explanation is correct) and more than one session is accepted then there 
will be an issue as each of the audio sessions is specifying the same rtp 
port.

Regards - Wayne D. 
********************************************************
Aaron, 
        My understanding is that if these were SDP for a request then - 
your first example is saying I would like an audio media session and I 
support any one(1)of the following three codecs for it. Your second example is requesting 
three(3) audio media sessions, each using the codec grouped with the m= 
line. 

Regards - Wayne D. 

Aaron asked: 
********************************************************* 

I have a few questions about how to represent alternative encodings with 
SDP.

How do the following 2 SDPs differ in meaning?

m=audio 49230 RTP/AVP 96 97 98
a=rtpmap:96 L8/8000
a=rtpmap:97 L16/8000
a=rtpmap:98 L16/11025/2

m=audio 49230 RTP/AVP 96
a=rtpmap:96 L8/8000
m=audio 49230 RTP/AVP 97
a=rtpmap:97 L16/8000
m=audio 49230 RTP/AVP 98
a=rtpmap:98 L16/11025/2

If I understand the SDP spec it seems to me that this indicates that 
payload
types 96, 97, and 98 will all be transmitted to port 49230 and represent 
the
same stream. What am I missing?

The SDP Internet Draft seems to indicate that alternate streams are 
signalled 
by m= lines using the same port. The RTSP spec says that if the server 
doesn't
care about what ports are used then it should just specify 0. The SDP 
draft 
also mandates that m= lines with the same port have "compatible media 
(e.g. 
both audio or both video)". This seems to imply that the server has to 
specify
ports if it wants to serve an A/V stream. Is that the intention or is 0 a 
special case? If 0 is a special case then how are you supposed to specify
alternate streams when the server doesn't care about the ports used?

Aaron

_______________________________________________
mmusic mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/mmusic

******************************************************************************
- NOTICE FROM DIMENSION DATA AUSTRALIA
This message is confidential, and may contain proprietary or legally 
privileged information. If you have received this email in error, please 
notify the sender and delete it immediately.

Internet communications are not secure. You should scan this message and 
any attachments for viruses. Under no circumstances do we accept liability 
for any loss or damage which may result from your receipt of this message 
or any attachments.
******************************************************************************_______________________________________________
mmusic mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/mmusic
_______________________________________________
mmusic mailing list
[email-masked]
https://www1.ietf.org/mailman/listinfo/mmusic

---

From: Aaron Colwell <[email-masked]>
Date: Tue, 1 Mar 2005 14:21:40 -0800

I'm not actually talking about using this sort of SDP for a request. I was
thinking of it more as something that might come in an RTSP  DESCRIBE response 
or perhaps used to describe an encoding session.

I intentionally made the port numbers the same because it seems to be what the
SDP Internet draft says to do for alternate streams. 

What I want to do is specify 3 streams that are the same content, but different
encodings. I also want to be able to request all or a subset of them. In
essence I have one logical stream, but 3 representations of that stream. I'm
just trying to figure out the proper way to express this in SDP. I could
potentially have audio and video in the same SDP so I'm just looking for the
proper way to group m= lines. I looked at RFC 3388 and it doesn't quite seem to
apply to what I'm talking about here.

Aaron

On Wed, Mar 02, 2005 at 08:32:54AM +1100, [email-masked] wrote:
>    support any one(1)of the following three codecs for it. Your second
>    example is requesting three(3) audio media sessions, each using the codec
>    grouped with the m= line.
>    Regards - Wayne D.
> 
>    Aaron asked:

---

From: Magnus Westerlund <[email-masked]>
Date: Wed, 02 Mar 2005 15:34:07 +0100

Hi Aaron,

If you have three different way of encoding/packetizing the media, and 
any of the encoding mays be used within a RTP session, then

is the correct representation. The SDP tells the receiver that all three 
codecs may occur within the RTP session.

I would also like to point out that even a SDP declaration like the 
following:

m=audio 49230 RTP/AVP 96
a=rtpmap:96 L8/8000

Does not exclude the occurance of multiple streams from different 
sources (SSRCs) within the same RTP session. Therefore please be careful 
with usage of language.

Cheers

Magnus Westerlund

Multimedia Technologies, Ericsson Research EAB/TVA/A
----------------------------------------------------------------------
Ericsson AB                | Phone +46 8 4048287
Torshamsgatan 23           | Fax   +46 8 7575550
S-164 80 Stockholm, Sweden | mailto: [email-masked]

---

From: Aaron Colwell <[email-masked]>
Date: Wed, 2 Mar 2005 08:42:55 -0800

> codecs may occur within the RTP session.

Does their usage have to be mutually exclusive or can they all be used at the
same time?

> sources (SSRCs) within the same RTP session. Therefore please be careful 

So does this basically mean that there isn't a lot of difference between the
2 forms that I outlined? Are you saying that they basically mean the same 
thing? It seems at a minimum the multiple m= line version allows a client to
select which encodings it wants to receive since there is only one a=control
line for each m= section. 

I feel like I'm still confused on this. 

Do m= lines with the same port indicate alternates of the same stream or SSRC 
multiplexed streams?

Aaron

---

From: Magnus Westerlund <[email-masked]>
Date: Thu, 03 Mar 2005 10:16:40 +0100

> Does their usage have to be mutually exclusive or can they all be used at the

They can all occur at the same time.

> line for each m= section. 

There is a big difference. One "m=" lines means that there is one 
session with three different encodings that may occur in it. Multiple 
"m=" lines means that there are three RTP sessions. It does not 
naturally have a meaning of being alternative.

There has been a lot of discussion on if there is even allowed to have 
multiple "m=" lines with the same port without any grouping mechanism. 
To my recollection the debate ended saying, not allowed, and you must 
use a grouping mechanism to express what type of session grouping that 
do occur.

As multiple "m=" lines has the original interpretation of being 
different media streams and that you need to receive all, the 
interpretation I would do if this was an RTSP controlled session, would 
be that all media streams needs to be set up.

There exist no mechanism in SDP that allows you to express alternatives 
in regards to bit-rate. The basic case is that one expresses what may 
occur in a media stream. The bit-rate values is upper limit, it may go 
below that. Thus if one needs different payload types to be able to 
support the desired range of modification, they are all need to be 
expressed in the SDP on the same "m=" line.

If you look at 3GPP TS 26.234, section 5.3.3.3 and 5.3.3.4 you find the 
alternative mechanism. That is intended to give an RTSP client the 
possibility to provide multiple "a=control" lines to allow setup time 
selection of bandwidth.

> Do m= lines with the same port indicate alternates of the same stream or SSRC 

No, neither of these interpretations are correct.

Cheers

Magnus Westerlund