Re: [rtcweb] SDP and ssrc-group,

Iñaki Baz Castillo <ibc@aliax.net> Tue, 21 October 2014 18:36 UTC

Return-Path: <ibc@aliax.net>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4A64D1A87C2 for <rtcweb@ietfa.amsl.com>; Tue, 21 Oct 2014 11:36:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.077
X-Spam-Level:
X-Spam-Status: No, score=-1.077 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_15=0.6, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-0.7] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BZ9MVNfRtBFP for <rtcweb@ietfa.amsl.com>; Tue, 21 Oct 2014 11:36:20 -0700 (PDT)
Received: from mail-qa0-f54.google.com (mail-qa0-f54.google.com [209.85.216.54]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id B26DB1A1BCA for <rtcweb@ietf.org>; Tue, 21 Oct 2014 11:36:19 -0700 (PDT)
Received: by mail-qa0-f54.google.com with SMTP id i13so1305693qae.13 for <rtcweb@ietf.org>; Tue, 21 Oct 2014 11:36:18 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=rumHtznVX2qMgKNsDPzO+MrD3a0XMl9zUH2uXAG01ZU=; b=Br7tF/mM5bw9AvW4s7ZRkQuzlZyASQJ2uQ2p/E6tF0EGeN10uM+yicubzZzs9iQq15 pjDwT0hrPQNXazVG+FBh6yRe/UPT6fsrPZghmfJCFQxjzSOC3eT/xaaBaT/1wwtyPaxW kGFYRjK0E/uhEdGrcScQM3ZzAj8U4haEBoZOG4/uFULSDw+5mG2mbLmUz9TYXf6Ilmwu yUQ/c04Qeb6WfasejwycSHPZwOGxx8HW9gduFaZaBfmcRUPArASlZT7TxMz7/yoEZHkV UPDeA06Iw/YGfMOvuSy+3znHi5bFvjd48aY7uGRECovIwhLTs36aY/XnpSSwrMTymH3V DNdw==
X-Gm-Message-State: ALoCoQll91pyKfLm/OhlAyFu+9VwXSB8ApbQ1iUSN+ectkzVBN6fKCuw8tCn/j8WOFrtQ736KRlA
MIME-Version: 1.0
X-Received: by 10.229.247.200 with SMTP id md8mr48105471qcb.7.1413916576832; Tue, 21 Oct 2014 11:36:16 -0700 (PDT)
Received: by 10.96.69.200 with HTTP; Tue, 21 Oct 2014 11:36:16 -0700 (PDT)
Received: by 10.96.69.200 with HTTP; Tue, 21 Oct 2014 11:36:16 -0700 (PDT)
In-Reply-To: <CAJrXDUF-AXcDuQmYhH91vbgPAxLkYkB==GY9opoRk7zrEP8A7A@mail.gmail.com>
References: <CALiegfmH8rRyEDbJjQ=kzMv0nGC=S9gNsE7roE=kqJyVcfgy8g@mail.gmail.com> <CAJrXDUHekuQCLeCYzsnm8AuTUgiVppQHUqR7MKdQ9Q=eFFAy0w@mail.gmail.com> <CALiegfm_B5KfD5SBPzsH4YYuzD2OXdu47TtatPVmd6ihrMCh1A@mail.gmail.com> <CAJrXDUF-AXcDuQmYhH91vbgPAxLkYkB==GY9opoRk7zrEP8A7A@mail.gmail.com>
Date: Tue, 21 Oct 2014 20:36:16 +0200
Message-ID: <CALiegfmxnzZ6_3rKX0paNhHas6Emvu1Mekgb9caj9NLVSf_u+g@mail.gmail.com>
From: Iñaki Baz Castillo <ibc@aliax.net>
To: Peter Thatcher <pthatcher@google.com>
Content-Type: multipart/alternative; boundary="001a1134a5ca4df8110505f31b86"
Archived-At: http://mailarchive.ietf.org/arch/msg/rtcweb/KcqBMEiY-sLy0kCjEGwdZo9YqJI
Cc: "<rtcweb@ietf.org>" <rtcweb@ietf.org>
Subject: Re: [rtcweb] SDP and ssrc-group,
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 21 Oct 2014 18:36:22 -0000

I hope I can rule my SDP logic based on standards rather than on how Chrome
implements some features.

My question was generic: if I receive the above SDP, how do I know which
payloads each ssrc is supposed to transport?
On 21 Oct 2014 19:57, "Peter Thatcher" <pthatcher@google.com> wrote:

> I'm not sure where it's specified, but here's where it's implemented:
>
>
> https://code.google.com/p/webrtc/source/browse/trunk/talk/media/webrtc/webrtcvideoengine.cc#4108
>
> It only supports 2 SSRCs for a FID group.  It would ignore any more than
> that.
>
> On Tue, Oct 21, 2014 at 10:40 AM, Iñaki Baz Castillo <ibc@aliax.net>
> wrote:
>
>> How is that? Where is that specified? What about if I include 3 ssrc
>> values in the ssrc-group? What is each one for?
>> On 21 Oct 2014 19:31, "Peter Thatcher" <pthatcher@google.com> wrote:
>>
>>> 345259865 is "real"
>>> 2693756249 is rtx
>>>
>>> On Tue, Oct 21, 2014 at 9:25 AM, Iñaki Baz Castillo <ibc@aliax.net>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> May I know which SSRC (345259865 or 2693756249) will be used for the
>>>> real media stream (plus RED and FEC) and which SSRC will be used for
>>>> RTX?
>>>>
>>>>
>>>>
>>>> --------------------------
>>>> m=video 62164 RTP/SAVPF 100 116 117 96
>>>> a=mid:video
>>>> a=rtpmap:100 VP8/90000
>>>> a=rtpmap:116 red/90000
>>>> a=rtpmap:117 ulpfec/90000
>>>> a=rtpmap:96 rtx/90000
>>>> a=fmtp:96 apt=100
>>>> a=ssrc-group:FID 345259865 2693756249
>>>> a=ssrc:345259865 cname:erS7E/KHLYKTejNs
>>>> a=ssrc:345259865 msid:DWpWct9bWKzTMNYZn5bKVgwZ8Mfy2EtfqBY5
>>>> c0134f05-e7c2-4afd-a979-4e224de5eb91
>>>> a=ssrc:345259865 mslabel:DWpWct9bWKzTMNYZn5bKVgwZ8Mfy2EtfqBY5
>>>> a=ssrc:345259865 label:c0134f05-e7c2-4afd-a979-4e224de5eb91
>>>> a=ssrc:2693756249 cname:erS7E/KHLYKTejNs
>>>> a=ssrc:2693756249 msid:DWpWct9bWKzTMNYZn5bKVgwZ8Mfy2EtfqBY5
>>>> c0134f05-e7c2-4afd-a979-4e224de5eb91
>>>> a=ssrc:2693756249 mslabel:DWpWct9bWKzTMNYZn5bKVgwZ8Mfy2EtfqBY5
>>>> a=ssrc:2693756249 label:c0134f05-e7c2-4afd-a979-4e224de5eb91
>>>> -------------------------------
>>>>
>>>>
>>>>
>>>>
>>>> RFC 5576 does not clarify it at all:
>>>>
>>>> http://tools.ietf.org/html/rfc5576#section-4.2
>>>>
>>>> --------------------------------------------------
>>>> 4.2.  The "ssrc-group" Media Attribute
>>>>
>>>>    a=ssrc-group:<semantics> <ssrc-id> ...
>>>>
>>>>    [..]
>>>>
>>>>    The <semantics> parameter is taken from the specification of the
>>>>    "group" attribute [RFC3388].  The initial semantic values defined for
>>>>    the "ssrc-group" attribute are FID (Flow Identification) [RFC3388]
>>>>    and FEC (Forward Error Correction) [RFC4756].  In each case, the
>>>>    relationship among the grouped sources is the same as the
>>>>    relationship among corresponding sources in media streams grouped
>>>>    using the SDP "group" attribute.
>>>> --------------------------------------------------
>>>>
>>>>
>>>>
>>>> The referenced RFC 3388 neither clarifies it:
>>>>
>>>> ---------------------------------------------------
>>>> 7.4 FID Semantics
>>>>
>>>>    Several "m" lines grouped together using FID semantics form a media
>>>>    flow.  A media agent handling a media flow that comprises several "m"
>>>>    lines MUST send a copy of the media to every "m" line part of the
>>>>    flow as long as the codecs and the direction attribute present in a
>>>>    particular "m" line allow it.
>>>>
>>>>    It is assumed that the application uses only one codec at a time to
>>>>    encode the media produced.  This codec MAY change dynamically during
>>>>    the session, but at any particular moment only one codec is in use.
>>>>
>>>>    The application encodes the media using the current codec and checks
>>>>    one by one all the "m" lines that are part of the flow.  If a
>>>>    particular "m" line contains the codec being used and the direction
>>>>    attribute is "sendonly" or "sendrecv", a copy of the encoded media is
>>>>    sent to the address/port specified in that particular media stream.
>>>>    If either the "m" line does not contain the codec being used or the
>>>>    direction attribute is neither "sendonly" nor "sendrecv", nothing is
>>>>    sent over this media stream.
>>>> ----------------------------------------------------
>>>>
>>>>
>>>>
>>>>
>>>> So, how is the usage of ssrc-group? Where is it really defined?
>>>>
>>>> Can I put more than 2 ssrc together in the same ssrc-group line?
>>>>
>>>> How should the receiver interpret it?
>>>>
>>>> Does a ssrc-group always mean RTX usage? Where is that specified in
>>>> the above SDP?
>>>>
>>>> Does not the above SDP look a complete mixture of hacks and workarounds?
>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Iñaki Baz Castillo
>>>> <ibc@aliax.net>
>>>>
>>>> _______________________________________________
>>>> rtcweb mailing list
>>>> rtcweb@ietf.org
>>>> https://www.ietf.org/mailman/listinfo/rtcweb
>>>>
>>>
>>>
>