<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://www.w3.org/Bugs/Public/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4"
          urlbase="https://www.w3.org/Bugs/Public/"
          
          maintainer="sysbot+bugzilla@w3.org"
>

    <bug>
          <bug_id>23263</bug_id>
          
          <creation_ts>2013-09-17 13:55:13 +0000</creation_ts>
          <short_desc>Add output device enumeration to GetSources</short_desc>
          <delta_ts>2013-11-23 01:10:32 +0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebRTC Working Group</product>
          <component>Media Capture and Streams</component>
          <version>unspecified</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Harald Alvestrand">harald</reporter>
          <assigned_to name="Adam Bergkvist">adam.bergkvist</assigned_to>
          <cc>eric.carlson</cc>
    
    <cc>joi</cc>
    
    <cc>juberti</cc>
    
    <cc>paul.neave</cc>
    
    <cc>public-media-capture</cc>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>93484</commentid>
    <comment_count>0</comment_count>
    <who name="Harald Alvestrand">harald</who>
    <bug_when>2013-09-17 13:55:13 +0000</bug_when>
    <thetext>This is the formalization of a proposal made on the mailing list on Sept 9.

Proposal: Add output devices to the GetSources call, and add a &quot;group&quot; attribute for device grouping.

Rules for attribute visibility should be as for GetSources.

Example output:

{
  { 1234, &quot;video&quot;, &quot;First camera&quot;, group=42},
  { 7654, &quot;audio&quot;, &quot;First camera microphone&quot;, group=42},
  { 2345, &quot;audio&quot;, &quot;Headset microphone&quot;, group=17},
  { 3697, &quot;audioOut&quot;, &quot;Headset speakers&quot;, group=17}
}

Here, the headset microphone and speaker are part of the same device.

WebIDL changes:

- Change name of call to GetDevices
- Rename &quot;SourceInfo&quot; dictionary to &quot;DeviceInfo&quot;
- Add an attribute of type DOMString called &quot;group&quot;
- Add &quot;audioOut&quot; and &quot;videoOut&quot; as legal values for the &quot;kind&quot; attribute</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93948</commentid>
    <comment_count>1</comment_count>
    <who name="Harald Alvestrand">harald</who>
    <bug_when>2013-09-27 12:40:52 +0000</bug_when>
    <thetext>Per Sept 24, the suggestion has been made to drop videoOut from the list, because it is not well defined, so it&apos;s not clearly useful.

The editors will add this to the spec.

(boilerplate: This doesn&apos;t mean that it&apos;s definitely approved, but it does mean that someone has to suggest that it be removed in order to take it out again.)

Assigning to Adam for implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94948</commentid>
    <comment_count>2</comment_count>
    <who name="Justin Uberti">juberti</who>
    <bug_when>2013-10-18 18:42:45 +0000</bug_when>
    <thetext>I think we also agreed to move get[User]Devices to navigator.

Adam, do you have an ETA for landing this? We&apos;d like to get this wired up as soon as possible.

Harald, wdyt about keeping audio and video as &quot;kind&quot;, and adding a separate property to indicate input vs output? &quot;audioOut&quot; feels a bit clunky.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>94985</commentid>
    <comment_count>3</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2013-10-21 05:12:39 +0000</bug_when>
    <thetext>(In reply to Justin Uberti from comment #2)
&gt; Adam, do you have an ETA for landing this? We&apos;d like to get this wired up as
&gt; soon as possible.

Shouldn&apos;t be that far away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>95276</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2013-10-24 05:23:40 +0000</bug_when>
    <thetext>Proposed change (rendered snapshot, links not working):

http://htmlpreview.github.io/?https://github.com/fluffy/webrtc-w3c/blob/master/getusermedia.html#enumerating-devices</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96376</commentid>
    <comment_count>5</comment_count>
    <who name="Justin Uberti">juberti</who>
    <bug_when>2013-11-15 18:24:19 +0000</bug_when>
    <thetext>This change looks great. Wdyt about a corresponding .onmediadeviceschange callback to indicate when the list of media devices has changed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96424</commentid>
    <comment_count>6</comment_count>
    <who name="Jói Sigurðsson">joi</who>
    <bug_when>2013-11-18 13:53:47 +0000</bug_when>
    <thetext>What is the motivation for oldList? If it is just to preserve groupId members within the session, then this looks good as written. OTOH if the intent is also to preserve the internal order of devices on oldList in newList, then in step 4.1 under getMediaDevices, the fragment &quot;move that object to resultList&quot; should read &quot;append that object to resultList&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96429</commentid>
    <comment_count>7</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2013-11-18 15:22:39 +0000</bug_when>
    <thetext>(In reply to Jói Sigurðsson from comment #6)
&gt; What is the motivation for oldList? If it is just to preserve groupId
&gt; members within the session, then this looks good as written. OTOH if the
&gt; intent is also to preserve the internal order of devices on oldList in
&gt; newList, then in step 4.1 under getMediaDevices, the fragment &quot;move that
&gt; object to resultList&quot; should read &quot;append that object to resultList&quot;.

The idea is to have the groupId stable during the session. There&apos;s no attempt to, e.g., keep a device at a stable index in the list since devices may come and go during a session.

In this context &quot;move&quot; = remove from oldList and append to newList.

Does that seem right? Should we clarify?

Thanks for providing feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96439</commentid>
    <comment_count>8</comment_count>
    <who name="Jói Sigurðsson">joi</who>
    <bug_when>2013-11-18 18:18:42 +0000</bug_when>
    <thetext>I would suggest changing &quot;move to&quot; to &quot;append to&quot; just so it&apos;s clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96498</commentid>
    <comment_count>9</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2013-11-19 05:27:30 +0000</bug_when>
    <thetext>(In reply to Jói Sigurðsson from comment #8)
&gt; I would suggest changing &quot;move to&quot; to &quot;append to&quot; just so it&apos;s clear.

Works for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96638</commentid>
    <comment_count>10</comment_count>
    <who name="Adam Bergkvist">adam.bergkvist</who>
    <bug_when>2013-11-21 13:00:05 +0000</bug_when>
    <thetext>Proposed change:
https://github.com/fluffy/webrtc-w3c/commit/970251ff41175e5d02e2a7732ff740c089209e5c</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96740</commentid>
    <comment_count>11</comment_count>
    <who name="Justin Uberti">juberti</who>
    <bug_when>2013-11-23 01:10:32 +0000</bug_when>
    <thetext>Adam, any more thoughts on .onmediadeviceschange? Do you want us to propose a block of text?</thetext>
  </long_desc>
      
      

    </bug>

</bugzilla>