Subject: Re: [MMUSIC] Possible BUNDLE alternative syntax: explicit m-line for bundled session
From: Bernard Aboba <[email-masked]>
To: Harald Alvestrand <[email-masked]>
Cc: "[email-masked]" <[email-masked]>
Date: Thu, 9 Aug 2012 09:57:19 -0700
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>

Harald said: 
> Bernard, since I'm so easily confused by how people transmit layers of 
> layered codecs, can you illustrate the particular scheme you want to 
> use, and can't think of how to represent in Jonathan's scheme?

[BA]  I am looking at RFC 5583 "Signaling Media Decoding Dependency in SDP". An
example of how this would be used with H.264/SVC is included in RFC 6190, Section 7.3.4:

      a=group:DDP L1 L2
      m=video 20000 RTP/AVP 96
      a=rtpmap:96 H264/90000
      a=fmtp:96 profile-level-id=4de00a; packetization-mode=0;mst-mode=NI-T;
      a=mid:L1
      m=video 20002 RTP/AVP 97
      a=rtpmap:97 H264-SVC/90000
      a=fmtp:97 profile-level-id=53001F; packetization-mode=1;
       mst-mode=NI-TC; sprop-operation-point-info=<2,0,1,0,53000c,
      3200,352,288,384,512>,<3,1,2,0,53001F,6400,704,576,768,1024>;
      a=mid:L2
      a=depend:97 lay L1:96
Here the a=depend line is expressing the decoding dependency (layered in this case). 

Let us assume that there is also audio, as in Jonathan's example:

       m=audio 10000 RTP/AVP 0 8 97
       a=mid:foo
       b=AS:200
       a=rtpmap:0 PCMU/8000
       a=rtpmap:8 PCMA/8000
       a=rtpmap:97 iLBC/8000
Does the entire SDP offer with BUNDLE and dependency grouping  look like this (ignoring RTP/RTCP mux for the moment)? 

       v=0
       o=alice 2890844526 2890844526 IN IP4 host.atlanta.com
       s=
       c=IN IP4 host.atlanta.com
       t=0 0
       a=group:BUNDLE foo L1 L2 baz
       a=group:DDP L1 L2
       m=audio 10000 RTP/AVP 0 8 98
       a=mid:foo
       b=AS:200
       a=rtpmap:0 PCMU/8000
       a=rtpmap:8 PCMA/8000
       a=rtpmap:98 iLBC/8000
       a=candidate:1 1 UDP 1694498815 host.atlanta.com 10000 typ host
       m=video 20000 RTP/AVP 96
       a=rtpmap:96 H264/90000
       a=fmtp:96 profile-level-id=4de00a; packetization-mode=0;mst-mode=NI-T;
       a=mid:L1
       m=video 20002 RTP/AVP 97
       a=rtpmap:97 H264-SVC/90000
       a=fmtp:97 profile-level-id=53001F; packetization-mode=1;
       mst-mode=NI-TC; sprop-operation-point-info=<2,0,1,0,53000c,
      3200,352,288,384,512>,<3,1,2,0,53001F,6400,704,576,768,1024>;
       a=mid:L2
       a=depend:97 lay L1:96
       a=candidate:1 1 UDP 1694498815 host.atlanta.com 20002 typ host
       m=bundle 10000 RTP/AVP 0 8 96 97 98
       a=mid:baz
       b=AS:1200
       a=full-rtpmap:0 audio/PCMU/8000
       a=full-rtpmap:8 audio/PCMA/8000
       a=full-rtpmap:98 audio/iLBC/8000
       a=full-rtpmap:96 H264/90000
       a=full-rtpmap:97 H264-SVC/90000
       a=depend:97 lay L1:96
       a=candidate:1 1 UDP 1694498815 host.atlanta.com 10000 typ host