New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 786295 link

Starred by 3 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Mac
Pri: 2
Type: Bug



Sign in to add a comment

setSinkId stops working and resets previous changes when you do createMediaElementSource

Reported by enjik...@gmail.com, Nov 17 2017

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36

Steps to reproduce the problem:
1. Load media content into a HTMLMediaElement
2. Do setSinkId on HTMLMediaElement to change audio output
3. Create an AudioContent
4. Attempt to create new source from HTMLMediaElement with createMediaElementSource

What is the expected behavior?
Previous setSinkId actions before createMediaElementSource should not be changed (i.e. the choosen audio output remains active) and setSinkId should be able to be set after doing createMediaElementSource.

What went wrong?
On calling createMediaElementSource, the previous set value for setSinkId is reverted to the default setting. setSinkId also enters a non usable state after calling createMediaElementSource. (i.e. you cannot change audio output any more)

Did this work before? N/A 

Does this work in other browsers? N/A

Chrome version: 62.0.3202.94  Channel: stable
OS Version: OS X 10.13.1
Flash Version: 

Code pen in which you can reproduce: https://codepen.io/enjikaka/full/ZaayPm/
 
Components: Blink>Media
Cc: shrike@chromium.org
Labels: Needs-Triage-M62
Cc: divya.pa...@techmahindra.com
Labels: Needs-Feedback Triaged-ET
Unable to reproduce the issue on reported version 62.0.3202.94 and on chrome version 64.0.3273.0 using Mac 10.12.6 by following below steps 
1. Grant permissions etc to get labels in selection box
2. Open audio file
3. Change audio output
4. *note that it works fine*
5. Click on ""Hook up AudioContext
6.*note audio output did no change back to default*

Please find the attached screen-cast and let us know if we have missed any steps in the process of reproducing the issue from TE-End

Nov-20-2017-4_24-PM.mp4
1.4 MB View Download

Comment 4 by enjik...@gmail.com, Nov 20 2017

Divya; "default" and "built in output" is the same. You need an external DAC (that you plug in with USB) to test this on Mac. This would add a third device to that drop down list.
Project Member

Comment 5 by sheriffbot@chromium.org, Nov 20 2017

Labels: -Needs-Feedback
Thank you for providing more feedback. Adding requester "divya.padigela@techmahindra.com" to the cc list and removing "Needs-Feedback" label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: vamshi.k...@techmahindra.com
Labels: TE-NeedsTriageFromHYD
@Inhouse: Requesting some one from from the inhouse team to have a look in to this issue as ET-HYD do not have external DAC to check and confirm.  

Comment 7 by hdodda@chromium.org, Nov 22 2017

Cc: hdodda@chromium.org
Labels: -TE-NeedsTriageFromHYD TE-NeedsTriageFromMTV
@MTVTeam-- Requesting someone from MTV team to look into this as inhouse team doesn't ahve the DAC Cable as per comment #4 to reproduce the issue.

Thanks!
Components: -Blink>Media Blink>WebRTC
Components: -Blink>WebRTC Blink>WebAudio

Comment 10 by rtoy@chromium.org, Nov 28 2017

Components: Internals>Media>Audio
Status: Untriaged (was: Unconfirmed)
I can confirm this issue.  On my machine I selected Nvidia stereo output (which isn't connected to anything), so I hear nothing.  After connecting the audio context, output goes to my usb device (which is my default output).

Currently, WebAudio only goes to the default output device; you can't change that currently in chrome.

Comment 11 by rtoy@chromium.org, Nov 28 2017

Actually, this is pretty much working as intended.  Selecting an output device for an AudioContext will be taken up in the next version of the spec.

Besides, since each audio element can have a different sink ID, if you connect both to the same audio context, where is the output supposed to go?

Comment 12 by enjik...@gmail.com, Nov 28 2017

But the setting sinkId isn't possible on the AudioContext? You would need
to "boot the AudioContext from an audio-element" to be able to set output
device, was my idea.

I don't see why hooking the audio element up to an AudioContext (to get an
analyser, in my current project) should break the output channel of the
audio element? Doesn't the web audio context destination equal the audio
element output?

Den tis 28 nov. 2017 22:19r… via monorail <
monorail+v2.2158573027@chromium.org> skrev:

Comment 13 by rtoy@chromium.org, Nov 28 2017

That's right, setting the sinkID isn't currently possible for an audio context.  We tried to get something into the version 1 of the spec, but the information available was not enough for WebAudio's needs.

And as you've discovered, the audio context goes to the default output, not to whatever audio element output is.

We would certainly like to solve this issue when the spec is updated to allow a sinkId when creating the audio context.
Cc: dalecur...@chromium.org wolenetz@chromium.org
Owner: rtoy@chromium.org
Status: Assigned (was: Untriaged)
add dale and matt.
as per c#13, give to rtoy@ to start. please feel free to assign appropriately.

Sign in to add a comment