[rtcweb] Add, remove, add, remove, add, remove a media stream (lines in SDP)

Iñaki Baz Castillo <ibc@aliax.net> Sun, 22 April 2012 17:12 UTC

Return-Path: <ibc@aliax.net>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 376E621F860E for <rtcweb@ietfa.amsl.com>; Sun, 22 Apr 2012 10:12:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.636
X-Spam-Level:
X-Spam-Status: No, score=-2.636 tagged_above=-999 required=5 tests=[AWL=0.041, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, MIME_8BIT_HEADER=0.3, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id u-WL7PzDf2Km for <rtcweb@ietfa.amsl.com>; Sun, 22 Apr 2012 10:12:37 -0700 (PDT)
Received: from mail-vb0-f44.google.com (mail-vb0-f44.google.com [209.85.212.44]) by ietfa.amsl.com (Postfix) with ESMTP id B2D2921F8609 for <rtcweb@ietf.org>; Sun, 22 Apr 2012 10:12:36 -0700 (PDT)
Received: by vbbez10 with SMTP id ez10so8833762vbb.31 for <rtcweb@ietf.org>; Sun, 22 Apr 2012 10:12:36 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:from:date:message-id:subject:to:content-type :content-transfer-encoding:x-gm-message-state; bh=jbU/ucXSkBV5rpHH0rw2krWGyr+cQdEmTjFSktBVs2U=; b=ny8K/SzphkpUQ72J+pKK14lOnGtDtrXnLHHYrILgPfO5Ud1JyRmrcU6iXlQnIF0XHO +ehVN0N6ZyZPZOyFUcHzoFwIUYFR0PhMRfW934W1PBsPprrw+y9PHEvKfT2jn8qdEhdJ SNeLuv7Pq3+6/RQXCJ6W0M6MZW4rn7EiJlMcBUXqJknp0WUfOPwejCCj07LqyV85ISyF WJN8G+f6tShR5v4X/9FBg2EL6aduyaCyjjGSej48+xix4Uxk7gV8p4iab/Th7oqspqKf 4CShyu7q3i0IdV2JH5Hu0jgh2BU6ZsgO+6LmRaOGt7ILqmyteZlWwWi0tpW4thlIdsNK 1kzg==
Received: by 10.220.241.12 with SMTP id lc12mr12556674vcb.22.1335114756223; Sun, 22 Apr 2012 10:12:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.52.170.165 with HTTP; Sun, 22 Apr 2012 10:12:16 -0700 (PDT)
From: Iñaki Baz Castillo <ibc@aliax.net>
Date: Sun, 22 Apr 2012 19:12:16 +0200
Message-ID: <CALiegfkBFNv6emEg6gkxV+iPkx52rUwn+qcyEjk2r4iDYEXrAA@mail.gmail.com>
To: rtcweb@ietf.org
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Gm-Message-State: ALoCoQmQNRhyXLD1w1vvtOpli1aZMGIqwZ6AZIL4I+dSZN3afttxGWLgVpjn/mCbzGwZGUT9feS0
Subject: [rtcweb] Add, remove, add, remove, add, remove a media stream (lines in SDP)
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
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: Sun, 22 Apr 2012 17:12:40 -0000

Hi, a stream in an SDP cannot be removed but just "disabled" (by
setting its port to 0). In the same media session a participant could
add a video stream and "disable" it later multiple times.

Let's assume a media session initiated with just an audio stream:

1) A participant adds a video stream and the remote accepts it. This
involves a new media section in the SDP.
2) Later the same participant removes the video stream which means
setting its port to 0 in the SDP.
3) Later he adds video again.
4) ...and so on.

AFAIK there are two choices for step 2 and 3:

a) Releasing video resources and the UDP socket so when video is
enabled again a new line should be added to the SDP and new resources
(ICE, UDP socket) required.

b) Not releasing all the resources (keep the UDP socket but stop
sending/receiving data on it), and re-enabling it when video is added
again, so the same SDP line would be reused by setting its port to the
previous value.


Choice a) means more and more lines in the SDP for each video
activation. Option b) means not releasing resources after disabling a
media stream.

If I'm not wrong in the above text, which would be the WebRTC approach
for this topic?

Thanks a lot.

-- 
Iñaki Baz Castillo
<ibc@aliax.net>