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

Randell Jesup <randell-ietf@jesup.org> Sun, 17 June 2012 16:02 UTC

Return-Path: <randell-ietf@jesup.org>
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 5E46121F85D4 for <rtcweb@ietfa.amsl.com>; Sun, 17 Jun 2012 09:02:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.367
X-Spam-Level:
X-Spam-Status: No, score=-1.367 tagged_above=-999 required=5 tests=[AWL=1.232, BAYES_00=-2.599]
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 YGAZI2chKJnq for <rtcweb@ietfa.amsl.com>; Sun, 17 Jun 2012 09:02:48 -0700 (PDT)
Received: from r2-chicago.webserversystems.com (r2-chicago.webserversystems.com [173.236.101.58]) by ietfa.amsl.com (Postfix) with ESMTP id C451621F8589 for <rtcweb@ietf.org>; Sun, 17 Jun 2012 09:02:48 -0700 (PDT)
Received: from pool-108-16-41-249.phlapa.fios.verizon.net ([108.16.41.249] helo=[192.168.1.12]) by r2-chicago.webserversystems.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from <randell-ietf@jesup.org>) id 1SgHw7-0006Zt-Sa; Sun, 17 Jun 2012 11:02:48 -0500
Message-ID: <4FDDFF8C.6060902@jesup.org>
Date: Sun, 17 Jun 2012 12:02:20 -0400
From: Randell Jesup <randell-ietf@jesup.org>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:13.0) Gecko/20120614 Thunderbird/13.0.1
MIME-Version: 1.0
To: rtcweb@ietf.org, "public-media-capture@w3.org" <public-media-capture@w3.org>
References: <5A2F246E-9D77-4B72-B3F1-681B00FA99FD@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> <E17CAD772E76C742B645BD4DC602CD8106581BF2@NAHALD.us.int.genesysl ab.com>
In-Reply-To: <E17CAD772E76C742B645BD4DC602CD8106581BF2@NAHALD.us.int.genesyslab.com>
Content-Type: text/plain; charset="windows-1252"; format="flowed"
Content-Transfer-Encoding: 8bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - r2-chicago.webserversystems.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - jesup.org
X-Source:
X-Source-Args:
X-Source-Dir:
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 16:02:49 -0000

CCing Media-capture as much of this touches on issues there.  For 
context, you can read the recent rtcweb archives.  The general topic is 
"Mute" (and Hold) and both replacing video with an image or pre-recorded 
video clip (repeating if short), and related issue of replacing a 
front-camera video with a rear-camera video without operations that take 
significant time (renegotiation of the peerconnection).  Basically 
immediate source switches.

On 6/17/2012 10:17 AM, Jim Barnett wrote:
> 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.)

Selecting an image or video from the user's filesystem would require the 
user's direct permission (ala <input type="file">).  Sourcing a 
mediastream from a web source (i.e. part of the app) or from a 
app-generated canvas (with "please wait" in it) would not.

If the app requests both front and rear camera streams and gets them 
(two getUserMedia() calls), then permission is already given and the app 
should be able to do anything with those streams.

If the app hasn't requested the rear camera yet, requesting would have 
to be done first and would engender a request to the user to permit access.

Once the app has both streams, it should be able to switch between the 
streams on demand (front/back UI button in the app), with no delay, and 
certainly no renegotiation of the call.

If there's a reason it could renegotiate after switching.  For (a 
contrived) example, if it had negotiated a call with a low maximum 
resolution, it could switch (and downscale the new hires stream) until a 
renegotiation allowed sending the full resolution.  That's a contrived 
example, but there might be some real-world examples, and that's up to 
the app.

The same things apply to switching between video (live or recorded) and 
still images.

These speak to how MediaStream work and can be processed, and how a 
track in a MediaStream can be used to represent different things, and 
how that's different than a MediaStream with two tracks.  Some of this 
impacts the interface and assumptions on MediaStreams and tracks in 
PeerConnection.  These are issues because PeerConnection, <video> (and 
others) may play a particular track of a MediaStream.

I'll further respond to Stefan's detailed email.

-- 
Randell Jesup
randell-ietf@jesup.org