Re: [whatwg] Media sink device selection on audio/video

2014-04-07 Thread Ami Fischman
Thanks Ian.  I pinged public-media-capture about this and
https://www.w3.org/Bugs/Public/show_bug.cgi?id=25245 is now tracking making
that spec better specified.


On Wed, Apr 2, 2014 at 10:52 AM, Ian Hickson i...@hixie.ch wrote:

 On Mon, 3 Mar 2014, Ami Fischman wrote:
 
  Looks like we're back in business:
 
  Latest editor's draft:
  http://dev.w3.org/2011/webrtc/editor/getusermedia.html

 Thanks.

 As a user, this scares me a lot. Why isn't it up to me to control this? I
 don't understand the security model here at all. I don't want random Web
 pages to know that they can pipe audio to the remote speakers in my
 bedroom from my laptop, but if we just expose all the audio output
 devices, that's exactly what will be possible.

 Without a much clearer security model, I don't think it's a good idea to
 add any APIs.

 --
 Ian Hickson   U+1047E)\._.,--,'``.fL
 http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
 Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



Re: [whatwg] Media sink device selection on audio/video

2014-03-03 Thread Ami Fischman
Ian,
On Fri, Feb 7, 2014 at 4:55 PM, Ian Hickson i...@hixie.ch wrote:

 Can you let us know when there's a URL that will permanently hold the
 latest (including day-to-day updates) spec?


Looks like we're back in business:

Latest editor's draft:
http://dev.w3.org/2011/webrtc/editor/getusermedia.html


Cheers,
-a


Re: [whatwg] Media sink device selection on audio/video

2014-02-07 Thread Ami Fischman
Ian,
The link you're looking at is currently being used to focus the WG's
attention on the Constrainable business, which is why everything else has
disappeared.  This is temporary :)
See http://lists.w3.org/Archives/Public/public-webrtc/2014Feb/.html for
the haps, and the previous editor's draft (
http://dev.w3.org/2011/webrtc/editor/archives/20131225/getusermedia.html)
for the pieces of the spec discussed in this thread here.

Cheers,
-a

On Fri, Feb 7, 2014 at 2:28 PM, Ian Hickson i...@hixie.ch wrote:

 On Wed, 18 Dec 2013, Ami Fischman wrote:
  On Wed, Dec 18, 2013 at 8:38 PM, Ian Hickson i...@hixie.ch wrote:
   On Tue, 17 Dec 2013, Ami Fischman wrote:
Recently https://www.w3.org/Bugs/Public/show_bug.cgi?id=23263
Navigator acquired the ability to enumerate media output devices (in
addition to input devices):
   
 http://dev.w3.org/2011/webrtc/editor/getusermedia.html#enumerating-devices
   What's the privacy story for this API?
 
  I don't follow public-media-capture but the spec above says:
 
  The method must only return information that the script is authorized to
  access (TODO expand authorized).

 That should probably be resolved before we start integrating other specs
 with the API, since without a solid privacy story, the API might change
 radically.

 In fact, looking at the spec again today, I can't find anything about
 enumerating anything. (Indeed, the word enumerating doesn't appear in
 that spec.) Am I missing something? There doesn't seem to be a table of
 contents either... Anyone know the status of that spec?

 --
 Ian Hickson   U+1047E)\._.,--,'``.fL
 http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
 Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



Re: [whatwg] Media sink device selection on audio/video

2014-01-13 Thread Ami Fischman
On Sun, Jan 12, 2014 at 8:47 PM, Philip Jägenstedt phil...@opera.comwrote:
[...]

 Do you mean to make this per-origin as well? (It will require storing
 that information per-origin forever, or until some invisible timeout.)
 That seems about as restrictive as one could make it, but is the API
 going to actually be useful in this state?


Sure, why not?
Canonical use-case: webrtc-using video-chat webapp allows the user to
select between speakers, wired headset, or bluetooth headset for its audio
output; the webapp already has gUM permission so now it can use
getMediaDevices() to enumerate output sinks and use the proposal here to
route the remote audio feed to the desired device.

Cheers,
-a


Re: [whatwg] Media sink device selection on audio/video

2014-01-13 Thread Ami Fischman
Hmm; I wasn't thinking in terms of per-device, only per-origin and
per-browser/machine.
Seems like a conversation for public-media-capture?


On Mon, Jan 13, 2014 at 3:30 PM, Philip Jägenstedt phil...@opera.comwrote:

 On Tue, Jan 14, 2014 at 5:51 AM, Ami Fischman fisch...@chromium.org
 wrote:
  On Sun, Jan 12, 2014 at 8:47 PM, Philip Jägenstedt phil...@opera.com
  wrote:
  [...]
 
  Do you mean to make this per-origin as well? (It will require storing
  that information per-origin forever, or until some invisible timeout.)
  That seems about as restrictive as one could make it, but is the API
  going to actually be useful in this state?
 
 
  Sure, why not?
  Canonical use-case: webrtc-using video-chat webapp allows the user to
 select
  between speakers, wired headset, or bluetooth headset for its audio
 output;
  the webapp already has gUM permission so now it can use
 getMediaDevices() to
  enumerate output sinks and use the proposal here to route the remote
 audio
  feed to the desired device.

 OK, so a site that has been given access to any device using
 getUserMedia can then enumerate all devices using getMediaDevices? I
 interpreted devices to which the user has already granted access
 through getUserMedia in the most restrictive (per-origin, per-device)
 way possible...

 Philip



[whatwg] Media sink device selection on audio/video

2013-12-17 Thread Ami Fischman
Recently https://www.w3.org/Bugs/Public/show_bug.cgi?id=23263 Navigator
acquired the ability to enumerate media output devices (in addition to
input devices):
http://dev.w3.org/2011/webrtc/editor/getusermedia.html#enumerating-devices
It would be nice to allow media elements to direct their output to such an
output device.

The primary use-case is to allow app UI/script to select which audio output
device should play the audio track of a video or audio tag (wired
speakers, bluetooth headset, etc.).

A simple impl (mentioned only in case the above is too vague and would
benefit from concreteness; I have no attachment to this particular version)
would look like: extend html media elements with new
{audio,video}OutputDeviceId attributes which:
- when read provides the last-set value, or if never set, the UA's idea of
a default device (probably influenced by the OS's idea of a default device)
- when set directs the relevant type of output (audio/video) from the
element to the device in question
(specified as deviceId)

(note that the Media Capture spec only specifies an audioOut kind, not a
videoOut kind, so it probably makes sense to only offer an
audioOutputDeviceId attribute for now, but naming it outputDeviceId
(omitting audio) might be a regrettable move in the future if/when Media
Capture adds videoOut to the kind enum).

Cheers,
-a


[whatwg] Reporting mid-stream resolution change on video

2013-12-12 Thread Ami Fischman
Today the video tag exposes video{Width,Height} attributes that allow the
page to discover the resolution of the playing media once metadataloaded
has fired.  However there is no way for the page to find out that the media
resolution has changed mid-stream (short of polling the tag constantly,
which is obviously unappealing).

Examples where mid-stream resolution change can happen include:
- WebRTC up/down-scaling a video stream at the source to adhere to
available bandwidth or other requirements
- MSE shifting between quality levels of source material
- Static/VOD/classic video files that change resolution mid-stream b/c of
different source material being concatenated together.

One way to enable this would be to add a metadatachange event to the list
of media elements events (
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-definitions
).

(this has come up recently in a public-webrtc
threadhttp://lists.w3.org/Archives/Public/public-webrtc/2013Dec/0040.html,
and previously in private discussions)

Cheers,
-a


Re: [whatwg] Reporting mid-stream resolution change on video

2013-12-12 Thread Ami Fischman
Thanks Ian.  My reading of
http://html5.org/tools/web-apps-tracker?from=8346to=8347 is that a simple
video that never changes size will never see the new resize event.  Is that
intentional?
(I ask b/c e.g. durationchange _is_ fired right before metadataloaded; I'd
expect resize  durationchange to act similarly in terms of whether they
fire on initial load)
Related, it's strange to me that

At this point, 
resizehttp://www.whatwg.org/specs/web-apps/current-work/#event-media-resize
events
can start firing.

but readyState is still HAVE_NOTHING, which is precluded by
http://www.whatwg.org/specs/web-apps/current-work/#event-media-resize's
Preconditions.

Would it make sense to make resize fire right before metadataloaded fires
and remove its Preconditions (both mimicking durationchange)?

Cheers,
-a

On Thu, Dec 12, 2013 at 12:04 PM, Ian Hickson i...@hixie.ch wrote:

 On Thu, 12 Dec 2013, Ami Fischman wrote:
 
  Today the video tag exposes video{Width,Height} attributes that allow
  the page to discover the resolution of the playing media once
  metadataloaded has fired.  However there is no way for the page to find
  out that the media resolution has changed mid-stream (short of polling
  the tag constantly, which is obviously unappealing).
 
  Examples where mid-stream resolution change can happen include:
  - WebRTC up/down-scaling a video stream at the source to adhere to
  available bandwidth or other requirements
  - MSE shifting between quality levels of source material
  - Static/VOD/classic video files that change resolution mid-stream b/c of
  different source material being concatenated together.
 
  One way to enable this would be to add a metadatachange event to the
  list of media elements events (
 
 http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#event-definitions
  ).
 
  (this has come up recently in a public-webrtc
  thread
 http://lists.w3.org/Archives/Public/public-webrtc/2013Dec/0040.html,
  and previously in private discussions)

 Seems reasonable. Done. (I used the 'resize' event since it is well
 established as the appropriate event to use when dimensions change.)

 --
 Ian Hickson   U+1047E)\._.,--,'``.fL
 http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
 Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'



Re: [whatwg] Reporting mid-stream resolution change on video

2013-12-12 Thread Ami Fischman
On Thu, Dec 12, 2013 at 2:56 PM, Ian Hickson i...@hixie.ch wrote:

 I suppose we could fire resize on initial load as well. I guess it depends
 on what code that uses this looks like. Is the initial size change the
 same kind of code as resizing, or is it different code? (e.g. will one set
 up elements to frame the video while the other just changes their size?)


Yes, I think that the first size event and subsequent ones are similar
enough that the initial size info should be fired when metadataloaded fires.

Example use-cases:
- a chat service wants to display an HD emblem on video feeds above some
threshold (and removed it if/when they fall below the threshold).  You want
to show/hide the emblem from the first point at which you have size
information, and each time that information changes.
- an on-screen display (OSD) for feed resolution; needs to be updated on
resize as well as initial size information.

In fact I am failing to think of examples where only not-first resize
information would be needed.

Cheers,
-a


Re: [whatwg] video element not ready for prime time

2012-01-12 Thread Ami Fischman
On Thu, Jan 12, 2012 at 9:46 AM, Francis Boumphrey boumphre...@gmail.comwrote:

 In which order does the user-agent check the
 source files (in Chrome it seems to be in the order in which they are
 written, but there is no guidance here in the spec.


The spec does specify this, and chrome fails to follow the spec.
See http://webk.it/75154 for details.

Cheers,
-a