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

Harald Alvestrand <harald@alvestrand.no> Sun, 17 June 2012 16:18 UTC

Return-Path: <harald@alvestrand.no>
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 24BD521F85FB for <rtcweb@ietfa.amsl.com>; Sun, 17 Jun 2012 09:18:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -106.721
X-Spam-Level:
X-Spam-Status: No, score=-106.721 tagged_above=-999 required=5 tests=[AWL=-3.757, BAYES_00=-2.599, CHARSET_FARAWAY_HEADER=3.2, CN_BODY_35=0.339, HTML_MESSAGE=0.001, MIME_8BIT_HEADER=0.3, MIME_CHARSET_FARAWAY=2.45, RCVD_IN_DNSWL_HI=-8, SARE_SUB_ENC_GB2312=1.345, USER_IN_WHITELIST=-100]
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 ZKbORpBWnUK9 for <rtcweb@ietfa.amsl.com>; Sun, 17 Jun 2012 09:18:00 -0700 (PDT)
Received: from eikenes.alvestrand.no (eikenes.alvestrand.no [158.38.152.233]) by ietfa.amsl.com (Postfix) with ESMTP id 0BCB721F8604 for <rtcweb@ietf.org>; Sun, 17 Jun 2012 09:18:00 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by eikenes.alvestrand.no (Postfix) with ESMTP id 05E8F39E149 for <rtcweb@ietf.org>; Sun, 17 Jun 2012 18:17:59 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at eikenes.alvestrand.no
Received: from eikenes.alvestrand.no ([127.0.0.1]) by localhost (eikenes.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id GjmkGnaSdXze for <rtcweb@ietf.org>; Sun, 17 Jun 2012 18:17:57 +0200 (CEST)
Received: from hta-dell.lul.corp.google.com (unknown [IPv6:2620:0:1043:1:be30:5bff:fede:bcdc]) by eikenes.alvestrand.no (Postfix) with ESMTPSA id E51F139E13F for <rtcweb@ietf.org>; Sun, 17 Jun 2012 18:17:56 +0200 (CEST)
Message-ID: <4FDE0332.2070207@alvestrand.no>
Date: Sun, 17 Jun 2012 18:17:54 +0200
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20120430 Thunderbird/12.0.1
MIME-Version: 1.0
To: rtcweb@ietf.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> <4FDD2706.3040202@jesup.org> <9254B5E6361B1648AFC00BA447E6E8C32AEA910F@szxeml545-mbx.china.huawei .com>
In-Reply-To: <9254B5E6361B1648AFC00BA447E6E8C32AEA910F@szxeml545-mbx.china.huawei.com>
Content-Type: multipart/alternative; boundary="------------000409030006060903030202"
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:18:01 -0000

On 06/17/2012 08:48 AM, Sunyang (Eric) wrote:
> You said:  "MediaStreams need to be able to be repointed, switched, processed, etc, OR you need to be able to replace a MediaStream in the inputs to PeerConnection with another one transparently without renegotiation (and that misses a bunch of uses)."
>
> But if the MediaStream  you choose to replace the existing one contain codecs that not supported by remote end, I think we still need renegotiation.
Alert.... a MediaStream doesn't contain a codec.

http://wiki.alvestrand.no/w/index.php/The_Byte_Stream_Fallacy

A MediaStream may be linked to a source that provides data in a given
codec format; it may be linked to a sink that accepts data in the given
codec format, and as a result the work that goes on to support the
moving of data from the source to the sink may be more or less complex.

But saying that a MediaStream "contains a codec" is (to my mind) not a
good idea.

> Or you can make sure that the browser can choose the same codecs as default with the replaced one, I think browser can not do this.
>
> -----邮件原件-----
> 发件人: rtcweb-bounces@ietf.org [mailto:rtcweb-bounces@ietf.org] 代表 Randell Jesup
> 发送时间: 2012年6月17日 8:39
> 收件人: rtcweb@ietf.org
> 主题: Re: [rtcweb] Mute implementations (Re: More Comments ondraft-ietf-rtcweb-use-cases-and-requirements-07)
>
> On 6/16/2012 5: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.  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.
> Which, by the way, we should be able to do.
>
> MediaStreams need to be able to be repointed, switched, processed, etc, 
> OR you need to be able to replace a MediaStream in the inputs to 
> PeerConnection with another one transparently without renegotiation (and 
> that misses a bunch of uses).
>
> The MediaStream Processing provides a mechanism to do this for both 
> audio and video, plus the ability to do more complex operations 
> (cross-fades audio-and-video, frame-accurate source switches, etc).
>
> If you don't have or use that, you need the ability to replace a track 
> in a MediaStream with another track.
>
> All we're talking about are mechanisms to shuffle existing or creatable 
> tracks/streams; a new camera source would require a call to 
> getUserMedia() and a dialog.  Once you had front and back, you could 
> switch sources without effectively shutting down all media and restarting.
>
> Simple one camera -> one video stream mechanisms are insufficient for 
> application using these features.  If you force people, they'll roll 
> their own using canvases, etc.
>
> I want something generic and usable in lots of interesting ways, not a 
> few special-purpose pre-coded mechanisms (for example, a 
> track.setMuteImage() method).
>