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

Issue 628814 link

Starred by 4 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Jul 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

[Chromoting] No audio forwarded after switching default audio output device in Windows

Project Member Reported by yuweih@chromium.org, Jul 16 2016

Issue description

Version: M52 I think (Whatever on AJ's laptop O_o)
OS: Windows 10

What steps will reproduce the problem?
(1) Insert headphone to the laptop
(2) Select headphone as the playback device
(3) Play some audio

What is the expected output?

Audio comes through CRD

What do you see instead?

No audio on Android or WebApp client. Audio works when selecting speaker as the playback device.
 
Owner: zijiehe@chromium.org
Status: Assigned (was: Untriaged)
Zijie, can this be related to your fix for volume control?
Could it be that plugging in headphones sets master volume to 0 (to mute the speakers) and that mutes sound for the host?

Comment 2 by yuweih@chromium.org, Jul 16 2016

Just double checked and looks like the problem is actually switching playback device during a session...
IAudioEndpointVolume we are now using in Windows audio capturer can only report the volume setting of the default audio device when the instance has been created. After switching a default endpoint, we need to recreate an IAudioEndpointVolume instance. I am looking for and working on a solution. IMMDeviceEnumerator::RegisterEndpointNotificationCallback (https://goo.gl/hPlvmo) sounds like the right choice.
Status: Started (was: Assigned)
IAudioEndpointVolume is not the only component we need to recreate after switching default audio playback device. We will need a larger change. I am working on it.
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 24 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/b40182aceb9f9ab588a296ace041360fa40bac88

commit b40182aceb9f9ab588a296ace041360fa40bac88
Author: zijiehe <zijiehe@chromium.org>
Date: Sun Jul 24 19:28:15 2016

[Chromoting] Audio playback won't work after switching default playback device

We can only capture audio for the default device now. So we need to update audio
components after switching a default playback device in Windows.

BUG= 628814 

Review-Url: https://codereview.chromium.org/2163473002
Cr-Commit-Position: refs/heads/master@{#407390}

[modify] https://crrev.com/b40182aceb9f9ab588a296ace041360fa40bac88/remoting/host/audio_capturer_win.cc
[modify] https://crrev.com/b40182aceb9f9ab588a296ace041360fa40bac88/remoting/host/audio_capturer_win.h

Owner: ajnolley@chromium.org
Status: Fixed (was: Started)
Summary: [Chromoting] No audio forwarded after switching default audio output device in Windows (was: [Chromoting] No audio forwarded when using headphone on Windows host)
Updated the title to match the issue.

This issue is not a regression, we have not caught this issue before. The same issue should be able to reproduce on any version of Windows host software before this change.

As Yuwei mentioned in comment 2, reproduce step should be,
1. Find a Windows machine with two or more audio output devices. X140e is the right machine, but I would suggest to test this feature on one more different machine. Usually a virtual machine or a desktop with HDMI output should satisfy this requirement.
2. Connect to a Windows host from any kind of clients.
3. Make sure you can hear audio playback.
4. Switch default output device by right clicking speaker icon in Windows status bar at the right bottom of the screen, and selecting playback devices.

Expected behavior,
You can still hear audio playback.

Fact,
You won't be able to hear anything anymore without reconnecting to the host.

This change should fix this issue. You won't need to reconnect to the host to hear audio playback.
Status: Verified (was: Fixed)
Switching inputs works. Verified fixed in 54.0.2808.0

Sign in to add a comment