- From: cowwoc <cowwoc@bbs.darktech.org>
- Date: Sun, 01 Sep 2013 14:36:59 -0400
- To: Martin Thomson <martin.thomson@gmail.com>
- CC: "public-media-capture@w3.org" <public-media-capture@w3.org>
Hi,
What do you mean by "the object that gUM is attempting to connect
to the source"? Perhaps it'll be easier to understand if you provide
some pseudo-code showing how you see this working.
Thanks,
Gili
On 01/09/2013 2:09 PM, Martin Thomson wrote:
> Both of those cases can be addressed by ignoring the result, at least initially.
>
> It leaves the user with a redundant question, and that sucks. I get that.
>
> I do tend to think that cancellation is the right way to deal with
> this. I was suggesting that cancellation could be achieved by closing
> the object that gUM is attempting to connect to the source.
>
> On 31 August 2013 22:33, cowwoc <cowwoc@bbs.darktech.org> wrote:
>> On 31/08/2013 1:30 PM, Martin Thomson wrote:
>>
>> On 31 August 2013 00:49, Kiran Kumar <g.kiranreddy4u@gmail.com> wrote:
>>
>> I don't mean that application want complete control over this
>>
>> Then perhaps you can explain what control you do want more precisely.
>> Otherwise, this is looking very much like a Chrome feature request to
>> me.
>>
>> I didn't find Gili's argument particularly interesting, because
>> applications can always just immediately close any granted track.
>> Also, if we ever decide to actually allow the construction of tracks
>> directly, you could close a track to cancel the associated gUM
>> request.
>>
>> Hi Martin,
>>
>> I must be missing something because I it is my understanding that you
>> only get MediaStreamTrack after getUserMedia() returns successfully, so how
>> would you "close a track to cancel the associated gUM request"?. Here are
>> two use-cases:
>>
>> Use case #1: Timeout
>>
>> Invoke getUserMedia() to access the local webcam.
>> If 10 seconds elapse and the user still hasn't granted access, assume he/she
>> is confused. Cancel the prompt and redirect to some help page.
>> If the user really is confused by the prompt (doesn't see it, or doesn't
>> understand why we need access to their camera), they are more likely than
>> not to close the tab (or navigate away). In such a case, waiting for
>> getUserMedia() to return and then discarding the track is not really an
>> option.
>>
>> Use case #2: External stimuli
>>
>> Invoke getUserMedia() to access the local webcam.
>> Before the user can accept, an external entity kicks him/her out of the
>> room. Cancel the prompt and redirect back to the "lobby" with an
>> explanation.
>> Imagine the case where someone calls you at home (conventional phone call),
>> hangs up and tries calling you back immediately (perhaps there was some
>> connectivity problem in the initial call). Unfortunately they get a "busy"
>> signal because you haven't hung up your phone yet (from the first call).
>> Similarly, imagine what happens in WebRTC when a remote peer calls the local
>> peer, hangs up and then calls back before the local one has answered the
>> prompt. In such a case, the remote peer will get a "busy" signal or worse
>> "no answer". On the local end, the user accepts the call only to find out
>> that he's "one prompt behind" and as a result he's missed both calls.
>> I'll give another example you'll appreciate :) Skype: If someone calls me
>> and hangs up before I accept the call, the prompt is dismissed immediately.
>> That person is then free to call me back immediately without getting a busy
>> signal. I think this approach makes more sense.
>>
>> Kind Regards,
>> Gili
Received on Sunday, 1 September 2013 18:37:29 UTC