Re: [rtcweb] Mute implementations (Re: More Comments ondraft-ietf-rtcweb-use-cases-and-requirements-07)
"Jim Barnett" <Jim.Barnett@genesyslab.com> Sun, 17 June 2012 14:18 UTC
Return-Path: <Jim.Barnett@genesyslab.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 CDA4A21F85A8 for <rtcweb@ietfa.amsl.com>; Sun, 17 Jun 2012 07:18:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=-0.001, BAYES_00=-2.599, HTML_MESSAGE=0.001]
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 madKeR027eKX for <rtcweb@ietfa.amsl.com>; Sun, 17 Jun 2012 07:18:00 -0700 (PDT)
Received: from relay-out2.dc.genesyslab.com (relay-out2.dc.genesyslab.com [198.49.180.221]) by ietfa.amsl.com (Postfix) with ESMTP id CB77821F85A5 for <rtcweb@ietf.org>; Sun, 17 Jun 2012 07:18:00 -0700 (PDT)
Received: from g2.genesyslab.com (g2.genesyslab.com [192.168.20.138]) by relay-out2.dc.genesyslab.com (8.13.8+Sun/8.13.8) with ESMTP id q5HEHuIo024424; Sun, 17 Jun 2012 07:17:56 -0700 (PDT)
Received: from NAHALD.us.int.genesyslab.com ([192.168.20.92]) by g2.genesyslab.com with Microsoft SMTPSVC(6.0.3790.4675); Sun, 17 Jun 2012 07:17:56 -0700
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----_=_NextPart_001_01CD4C93.FD7B2DEA"
Date: Sun, 17 Jun 2012 07:17:36 -0700
Message-ID: <E17CAD772E76C742B645BD4DC602CD8106581BF2@NAHALD.us.int.genesyslab.com>
In-Reply-To: <4FDD8EBA.2040601@alvestrand.no>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [rtcweb] Mute implementations (Re: More Comments ondraft-ietf-rtcweb-use-cases-and-requirements-07)
Thread-Index: Ac1MX1f3UbIiFxLmRmyYlI//9ZxN1AAMysww
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>
From: Jim Barnett <Jim.Barnett@genesyslab.com>
To: Harald Alvestrand <harald@alvestrand.no>
X-OriginalArrivalTime: 17 Jun 2012 14:17:56.0315 (UTC) FILETIME=[FDA7D2B0:01CD4C93]
Cc: rtcweb@ietf.org
Subject: Re: [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 14:18:05 -0000
I still think that there is a significant difference between files/images and live sources. A live source provides a lot of information about my environment - what's going on, whether I have shaved, etc. The file or image source that we use for hold is designed to provide _no_ information about my environment. In a user's mind, showing "please wait" or a images of a waterfall is very different from showing anything _live_ from his environment, and we may want to reflect that difference in the requirements. For example, does the user have to give explicit permission to show the "Please wait" source when the call is put on hold, or is that configured as a default in the browser? (The latter, I'd think, which makes it different from the front and rear cameras.) - Jim P.S. I agree that the system can switch from front to rear cameras once it has permission for both, though it should make it clear that it is doing so. From: Harald Alvestrand [mailto:harald@alvestrand.no] Sent: Sunday, June 17, 2012 4:01 AM To: Jim Barnett Cc: rtcweb@ietf.org Subject: 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.ht ml 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 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] On Behalf Of Harald Alvestrand Sent: Saturday, June 16, 2012 3:56 PM To: 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 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