[rtcweb] 答复: Mute implementations (Re: More Comments ondraft-ietf-rtcweb-use-cases-and-requirements-07)
"Sunyang (Eric)" <eric.sun@huawei.com> Sun, 17 June 2012 09:24 UTC
Return-Path: <eric.sun@huawei.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 2633321F85C3 for <rtcweb@ietfa.amsl.com>; Sun, 17 Jun 2012 02:24:16 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 2.619
X-Spam-Level: **
X-Spam-Status: No, score=2.619 tagged_above=-999 required=5 tests=[AWL=0.169, BAYES_00=-2.599, CHARSET_FARAWAY_HEADER=3.2, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, MIME_BASE64_TEXT=1.753, MIME_CHARSET_FARAWAY=2.45, RCVD_IN_DNSWL_MED=-4, SARE_SUB_ENC_GB2312=1.345]
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 kwP1Cql28Iwf for <rtcweb@ietfa.amsl.com>; Sun, 17 Jun 2012 02:24:14 -0700 (PDT)
Received: from dfwrgout.huawei.com (dfwrgout.huawei.com [206.16.17.72]) by ietfa.amsl.com (Postfix) with ESMTP id 90DD221F857D for <rtcweb@ietf.org>; Sun, 17 Jun 2012 02:24:14 -0700 (PDT)
Received: from 172.18.9.243 (EHLO dfweml202-edg.china.huawei.com) ([172.18.9.243]) by dfwrg01-dlp.huawei.com (MOS 4.2.3-GA FastPath) with ESMTP id AHG06641; Sun, 17 Jun 2012 05:24:13 -0400 (EDT)
Received: from DFWEML405-HUB.china.huawei.com (10.193.5.102) by dfweml202-edg.china.huawei.com (172.18.9.108) with Microsoft SMTP Server (TLS) id 14.1.323.3; Sun, 17 Jun 2012 02:24:07 -0700
Received: from SZXEML417-HUB.china.huawei.com (10.82.67.156) by dfweml405-hub.china.huawei.com (10.193.5.102) with Microsoft SMTP Server (TLS) id 14.1.323.3; Sun, 17 Jun 2012 02:24:06 -0700
Received: from szxeml545-mbx.china.huawei.com ([169.254.1.4]) by szxeml417-hub.china.huawei.com ([10.82.67.156]) with mapi id 14.01.0323.003; Sun, 17 Jun 2012 17:23:57 +0800
From: "Sunyang (Eric)" <eric.sun@huawei.com>
To: Harald Alvestrand <harald@alvestrand.no>, Jim Barnett <Jim.Barnett@genesyslab.com>
Thread-Topic: [rtcweb] Mute implementations (Re: More Comments ondraft-ietf-rtcweb-use-cases-and-requirements-07)
Thread-Index: AQHNS/vFOivG4SSIQUWzgCaW1NPfa5b84LAAgAAXlQCAAKhPAIAAnHVg
Date: Sun, 17 Jun 2012 09:23:57 +0000
Message-ID: <9254B5E6361B1648AFC00BA447E6E8C32AEA9198@szxeml545-mbx.china.huawei.com>
References: <5A2F246E-9D77-4B72-B3F1-681B00FA99FD@cisco.com><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><4FDB9E20.8070408@jesup.org><CABkgnnVqeyuayFsiA7YD+OFnyCi8tqode6VdypeaHKT+Z73KWw@mail.gmail.com><4FDBA6AC.2080107@jesup.org> <4FDCE4D4.7070909@alvestrand.no> <E17CAD772E76C742B645BD4DC602CD8106581BE5@NAHALD.us.int.genesyslab.com> <4FDCEDC2.2040903@alvestrand.no> <E17CAD772E76C742B645BD4DC602CD8106581BEA@NAHALD.us.int.genesyslab.com> <4FDD8EBA.2040601@alvestrand.no>
In-Reply-To: <4FDD8EBA.2040601@alvestrand.no>
Accept-Language: zh-CN, en-US
Content-Language: zh-CN
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [10.99.204.240]
Content-Type: multipart/alternative; boundary="_000_9254B5E6361B1648AFC00BA447E6E8C32AEA9198szxeml545mbxchi_"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: [rtcweb] 答复: Mute implementations (Re: More Comments ondraft-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: Sun, 17 Jun 2012 09:24:16 -0000
Do we need add one more scenario: The same video B2B communication, and switch video stream between front and rear webcam? The video streams displayed in the same video element, but source changed. There is on relative scenario in media capture scenarios, “video diary….”, but not not related with above mentioned scenario. Should we add it? 发件人: rtcweb-bounces@ietf.org [mailto:rtcweb-bounces@ietf.org] 代表 Harald Alvestrand 发送时间: 2012年6月17日 16:01 收件人: Jim Barnett 抄送: rtcweb@ietf.org 主题: Re: [rtcweb] Mute implementations (Re: More Comments ondraft-ietf-rtcweb-use-cases-and-requirements-07) On 06/16/2012 11:58 PM, Jim Barnett wrote: It's capturing the requirement accurately that I'm concerned with. I think "To be able to change the source of a video stream after its creation" is too broad, in the sense that someone might interpret it to mean that the system could shift from the front to the rear camera without asking permission. People certainly want to shift from the front to the rear camera, and people want to have the ability to get all that asking-for-permissions stuff out of the way before that. I recommend the Media Task Force's "additional scenarios" for more usages of "local media". Jjim, I know you know where this is, but for others: http://dvcs.w3.org/hg/dap/raw-file/tip/media-stream-capture/scenarios.html For mute and hold, we want something like "switch to a dummy source and back". The source that we switch to in cases like this is not a 'first-class' video source, but rather a place-holder. That's very different from switching to another live source. ObLangDisagreement: Files, images and the output of video processors are very real sources, and should not be "second class". Switching between live streams (that we have permission to access) is going to be required, but I think this belongs on the Media TF mailing list. - Jim -----Original Message----- From: Harald Alvestrand [mailto:harald@alvestrand.no] Sent: Saturday, June 16, 2012 4:34 PM To: Jim Barnett Cc: rtcweb@ietf.org<mailto:rtcweb@ietf.org> Subject: Re: [rtcweb] Mute implementations (Re: More Comments ondraft-ietf-rtcweb-use-cases-and-requirements-07) On 06/16/2012 10:07 PM, Jim Barnett wrote: Harald, Your description below makes me nervous: with getUserMedia, the user grants permission to _specific_ media streams (for example audio, or front camera, but not rear). Yes, he grants permission to use of the camera. That permission persists until <we have to define this point in time>. There's some interesting language there now about "strong" and "weak" references to video streams. If the system wants " to change the source of a video stream after its creation", shouldn't it be required to ask permission again? In this case, common sense says that it's not necessary, but that's because we're not changing to an arbitrary alternative the source (e.g., suddenly switching on the rear camera) but rather substituting some sort of 'null' or 'dummy' source. Can we think of a different way to phrase it? There are multiple ways to implement a requirement, as always. One possibility is the simple one: getUserMedia(..., function(strream) { outgoingstream = stream; }) getStreamFromPicture(image, function(stream) { outgoingstream.videoStreams(0).replaceContent(stream.videoStreams(0)); }..) whatever the "replace" call does. There may be a requirement that we keep a reference around that keeps the video stream, so that we can restore it, in order that the camera not close and can be used later: getUserMedia(..., function(strream) { copyOfCameraStream = stream; outgoingstream = MediaStream(stream.audioTracks, stream.videoTracks); }) getStreamFromPicture(image, function(stream) { outgoingstream.videoStreams(0).replaceContent(stream.videoStreams(0)); }..) restorePicture = function() { outgoingtstream.videoStreams(0).replaceContent(copyOfCameraStream.video. Streams(0)); } But there are surely multiple other ways to define it. What I want to make sure we have done first is to capture the requirement accurately. - Jim -----Original Message----- From: rtcweb-bounces@ietf.org<mailto:rtcweb-bounces@ietf.org> [mailto:rtcweb-bounces@ietf.org] On Behalf Of Harald Alvestrand Sent: Saturday, June 16, 2012 3:56 PM To: rtcweb@ietf.org<mailto:rtcweb@ietf.org> Subject: Re: [rtcweb] Mute implementations (Re: More Comments ondraft-ietf-rtcweb-use-cases-and-requirements-07) On 06/15/2012 11:18 PM, Randell Jesup wrote: On 6/15/2012 4:49 PM, Martin Thomson wrote: On 15 June 2012 13:42, Randell Jesup<randell-ietf@jesup.org><mailto:randell-ietf@jesup.org> wrote: I would also suggest that for video-mute that instead of stopping video or sending black, the application should send a "mute image". The question I have is whether there is: a) a fixed image/video that is serialized to RTP b) video "comfort noise", or c) local mute image/video playback. If it can't be c, then you might need to explain yourself. Either we build it into the system (which I dislike - SetMuteImage() or whathaveyou, though we could), or we put it in the application domain and suggest or assist implementation. The simple way to handle Mute is to revector the input to a "mute" or "hold" source, and they may not be the same (hold would have "Please Hold" and music, perhaps; mute would have silence and "Muted" or a camera with a circle/slash, etc). You can also signal that out of band to let the other end take smart action (remove muted video image, display "muted" next to a name, etc). This can be done via DataChannels, for example. You may then reinvite for Hold to make it one-way, but that's mostly optional. The resulting requirements seem to me to be: 1) To be able to use a still image as source for a video stream 2) To be able to change the source of a video stream after its creation Both are requirements on the GetUserMedia API. Can we link these to a specific use case, or do we need to modify the use case document so that the requirements are clear? Harald _______________________________________________ rtcweb mailing list rtcweb@ietf.org<mailto:rtcweb@ietf.org> https://www.ietf.org/mailman/listinfo/rtcweb
- [rtcweb] Comments on draft-ietf-rtcweb-use-cases-… Cullen Jennings
- Re: [rtcweb] Comments on draft-ietf-rtcweb-use-ca… Stefan Hakansson LK
- Re: [rtcweb] Comments on draft-ietf-rtcweb-use-ca… Stefan Hakansson LK
- Re: [rtcweb] Comments on draft-ietf-rtcweb-use-ca… Göran Eriksson AP
- Re: [rtcweb] Comments on draft-ietf-rtcweb-use-ca… Cullen Jennings
- Re: [rtcweb] Comments on draft-ietf-rtcweb-use-ca… Göran Eriksson AP
- [rtcweb] More Comments on draft-ietf-rtcweb-use-c… Hutton, Andrew
- Re: [rtcweb] More Comments on draft-ietf-rtcweb-u… Ted Hardie
- Re: [rtcweb] More Comments on draft-ietf-rtcweb-u… Hutton, Andrew
- Re: [rtcweb] More Comments on draft-ietf-rtcweb-u… Harald Alvestrand
- Re: [rtcweb] More Comments on draft-ietf-rtcweb-u… Hutton, Andrew
- Re: [rtcweb] More Comments on draft-ietf-rtcweb-u… Stefan Hakansson LK
- Re: [rtcweb] More Comments on draft-ietf-rtcweb-u… Hutton, Andrew
- [rtcweb] Mute implementations (Re: More Comments … Harald Alvestrand
- Re: [rtcweb] Mute implementations (Re: More Comme… Stefan Hakansson LK
- Re: [rtcweb] Mute implementations (Re: More Comme… Justin Uberti
- Re: [rtcweb] Mute implementations (Re: More Comme… Hutton, Andrew
- Re: [rtcweb] Mute implementations (Re: More Comme… Martin Thomson
- Re: [rtcweb] Mute implementations (Re: More Comme… Hutton, Andrew
- Re: [rtcweb] Mute implementations (Re: More Comme… Stefan Hakansson LK
- Re: [rtcweb] Mute implementations (Re: More Comme… Christer Holmberg
- Re: [rtcweb] Mute implementations (Re: More Comme… Christer Holmberg
- Re: [rtcweb] Mute implementations (Re: More Comme… DRAGE, Keith (Keith)
- Re: [rtcweb] Mute implementations (Re: More Comme… Martin Thomson
- Re: [rtcweb] Mute implementations (Re: More Comme… Randell Jesup
- Re: [rtcweb] Mute implementations (Re: More Comme… Martin Thomson
- Re: [rtcweb] Mute implementations (Re: More Comme… Randell Jesup
- Re: [rtcweb] Mute implementations (Re: More Comme… Randell Jesup
- Re: [rtcweb] Mute implementations (Re: More Comme… Harald Alvestrand
- Re: [rtcweb] Mute implementations (Re: More Comme… Jim Barnett
- Re: [rtcweb] Mute implementations (Re: More Comme… Harald Alvestrand
- Re: [rtcweb] Mute implementations (Re: More Comme… Jim Barnett
- Re: [rtcweb] Mute implementations (Re: More Comme… Randell Jesup
- [rtcweb] 答复: Mute implementations (Re: More Comme… Sunyang (Eric)
- Re: [rtcweb] 答复: Mute implementations (Re: More C… Randell Jesup
- Re: [rtcweb] Mute implementations (Re: More Comme… Harald Alvestrand
- [rtcweb] 答复: 答复: Mute implementations (Re: More C… Sunyang (Eric)
- [rtcweb] 答复: Mute implementations (Re: More Comme… Sunyang (Eric)
- Re: [rtcweb] 答复: 答复: Mute implementations (Re: Mo… Randell Jesup
- Re: [rtcweb] Mute implementations (Re: More Comme… Jim Barnett
- Re: [rtcweb] Mute implementations (Re: More Comme… Stefan Hakansson LK
- Re: [rtcweb] Mute implementations (Re: More Comme… Harald Alvestrand
- Re: [rtcweb] Mute implementations (Re: More Comme… Randell Jesup
- Re: [rtcweb] 答复: Mute implementations (Re: More C… Harald Alvestrand
- Re: [rtcweb] Mute implementations (Re: More Comme… Randell Jesup
- Re: [rtcweb] Mute implementations (Re: More Comme… Stefan Hakansson LK