Re: [rtcweb] Mute implementations (Re: More Comments on draft-ietf-rtcweb-use-cases-and-requirements-07)

"Hutton, Andrew" <andrew.hutton@siemens-enterprise.com> Thu, 14 June 2012 20:01 UTC

Return-Path: <andrew.hutton@siemens-enterprise.com>
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 5031121F86D4 for <rtcweb@ietfa.amsl.com>; Thu, 14 Jun 2012 13:01:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.391
X-Spam-Level:
X-Spam-Status: No, score=-1.391 tagged_above=-999 required=5 tests=[AWL=-1.058, BAYES_00=-2.599, HTML_MESSAGE=0.001, J_CHICKENPOX_41=0.6, SARE_HTML_USL_OBFU=1.666]
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 YyxuVQYLQY9X for <rtcweb@ietfa.amsl.com>; Thu, 14 Jun 2012 13:01:13 -0700 (PDT)
Received: from senmx12-mx.siemens-enterprise.com (senmx12-mx.siemens-enterprise.com [62.134.46.10]) by ietfa.amsl.com (Postfix) with ESMTP id A6D4E21F86BD for <rtcweb@ietf.org>; Thu, 14 Jun 2012 13:01:12 -0700 (PDT)
Received: from MCHP01HTC.global-ad.net (unknown [172.29.42.234]) by senmx12-mx.siemens-enterprise.com (Server) with ESMTP id 93E1223F05E9; Thu, 14 Jun 2012 22:01:11 +0200 (CEST)
Received: from MCHP04MSX.global-ad.net ([169.254.1.34]) by MCHP01HTC.global-ad.net ([172.29.42.234]) with mapi id 14.01.0339.001; Thu, 14 Jun 2012 22:01:11 +0200
From: "Hutton, Andrew" <andrew.hutton@siemens-enterprise.com>
To: Justin Uberti <juberti@google.com>
Thread-Topic: [rtcweb] Mute implementations (Re: More Comments on draft-ietf-rtcweb-use-cases-and-requirements-07)
Thread-Index: AQHNSi8V99bC4xTMh0uQV/Y6A7X7Fpb6FDaAgAAoTow=
Date: Thu, 14 Jun 2012 20:01:10 +0000
Message-ID: <8A7A43A8-90B0-46E0-83C4-E950BC4A3B2C@siemens-enterprise.com>
References: <5A2F246E-9D77-4B72-B3F1-681B00FA99FD@cisco.com> <F3D4ABD6AB47084B84337CF4F3446A464B2F11B52E@ESESSCMS0362.eemea.ericsson.se> <AAB6A6B6-BEC7-436C-B1EB-2C117596C7C6@cisco.com> <F3D4ABD6AB47084B84337CF4F3446A464B2F2631AC@ESESSCMS0362.eemea.ericsson.se> <9F33F40F6F2CD847824537F3C4E37DDF021B53@MCHP04MSX.global-ad.net> <CA+9kkMCL1k3x2hYi632nDU2g6CtOq3O7risDi38+7FTeWkxcGA@mail.gmail.com> <9F33F40F6F2CD847824537F3C4E37DDF0223ED@MCHP04MSX.global-ad.net> <4FD89773.3090506@ericsson.com> <9F33F40F6F2CD847824537F3C4E37DDF02594D@MCHP04MSX.global-ad.net> <4FD9AD1E.6060504@alvestrand.no> <4FD9E2BE.2080907@ericsson.com>, <CAOJ7v-18EynuscX3tLRryzqKxyXwYzES9K4zroE-5=FL4o8WzA@mail.gmail.com>
In-Reply-To: <CAOJ7v-18EynuscX3tLRryzqKxyXwYzES9K4zroE-5=FL4o8WzA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Content-Type: multipart/alternative; boundary="_000_8A7A43A890B046E083C4E950BC4A3B2Csiemensenterprisecom_"
MIME-Version: 1.0
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Mute implementations (Re: More Comments on draft-ietf-rtcweb-use-cases-and-requirements-07)
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: Thu, 14 Jun 2012 20:01:14 -0000

I agree with Justin that mute is a local action and should not stop the RTP or change the state of the remote track.

Regards
Andy



On 14 Jun 2012, at 20:37, "Justin Uberti" <juberti@google.com<mailto:juberti@google.com>> wrote:

For "mute", stopping sending of RTP may trigger concealment on the remote side. We currently send silent audio when muted to prevent this.
For "hold", you are notifying the remote side (e.g. a=inactive), so it makes sense to stop sending RTP.

On Thu, Jun 14, 2012 at 9:10 AM, Stefan Hakansson LK <stefan.lk.hakansson@ericsson.com<mailto:stefan.lk.hakansson@ericsson.com>> wrote:
On 06/14/2012 11:21 AM, Harald Alvestrand wrote:
Changing the subject line again, since we're discussing how to do
mute, not whether to do it.....

On 06/14/2012 11:15 AM, Hutton, Andrew wrote:
On 13 June 2012 15:37 Stefan Hakansson wrote:

This is my personal understanding:

- the API (and this part has been there for a long time) allows
the application to disable/enable individual tracks of
MediaStreams - So say you have a MediaStream (one audio track,
one video track in this example) that is rendered using a video
element; disabling audio would lead to silence, disabling video
to that the video stops - The question is: what should happen if
the MediaStream is connected to a PeerConnection and sent to a
peer? - using recvonly does not seem appropriate as that would
stop all ssrc:s belonging to the same m-line - and the app only
disabled one - one option could be to simply stop sending the RTP
packets for this track. I don't know how reliable that would be.
In the case of outgoing media then I think mute should simply
disconnect the source (e.g. microphone) and there is no impact on
RTP other than depending on the codec silence will be transmitted
or SID frame etc. There is also no impact on RTCP which continues.

This is different to setting the direction to be recvonly which
would completely stop the outgoing RTP packets and would normally
be signaled to the remote party. This should of course be achieved
using setLocalDescription.

Just to add to the complexity of the "mute" case:

When an audio stream is muted, should there be comfort noise sent? If
yes, what should determine the noise level?

To me it feels as that ideally we should stop sending RTP (and make the other end know that the track is disabled). If we go to comfort noise state, the track in the MediaStream at the other end would still be active (even though what is played could be very low level comfort noise), but to reflect the local state the remote track should go to "muted", shouldn't it?




(people who've never had to deal with comfort noise can safely tune
out at this point)



- I think there has been proposals signaling this in SDP or in
RTCP, but I don't think there was ever any conclusion
If we are talking about a local mute then I don't see any need to
signal this but again this is different to changing the direction
attribute in SDP.

For the other part, muting incoming media, this is simple: the
app (at receiving browser) could just disable the tracks it wants
in the incoming MediaStreams. A related question is if this
should be signaled back to the sender (so it could stop sending).
This is essentially a question of efficiency/optimization, and
nothing stops the app from signaling that now using an app
specific protocol (perhaps carried over the data channel), but
perhaps this should be brought into SDP or RTCP.

If the application wants to ask the remote party to pause sending
of RTP then it should surely do this in SDP by setting the
direction attribute appropriately (i.e. sendonly or inactive).

Regards Andy

_______________________________________________ rtcweb mailing
list rtcweb@ietf.org<mailto:rtcweb@ietf.org> https://www.ietf.org/mailman/listinfo/rtcweb

_______________________________________________ rtcweb mailing list
rtcweb@ietf.org<mailto:rtcweb@ietf.org> https://www.ietf.org/mailman/listinfo/rtcweb

_______________________________________________
rtcweb mailing list
rtcweb@ietf.org<mailto:rtcweb@ietf.org>
https://www.ietf.org/mailman/listinfo/rtcweb

_______________________________________________
rtcweb mailing list
rtcweb@ietf.org<mailto:rtcweb@ietf.org>
https://www.ietf.org/mailman/listinfo/rtcweb