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

Issue 800209 link

Starred by 2 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Bluetooth headphone does not sync volume level initially

Project Member Reported by josephsih@chromium.org, Jan 9 2018

Issue description

Chrome Version: (copy from chrome://version)
User reported feedback on Caroline. It looks like a cross-platform issue.

What steps will reproduce the problem?
(1) Connect a bluetooth headphone to a chromebook.
(2) Initially, the volume heard from the headphone is very small until a user press the volume button (up or down) to sync the absolute volume level.

What is the expected result?
The volume should be the current volume level on the chromebook.

What happens instead?
No volume or very small volume initially.

User feedback report: https://listnr.corp.google.com/product/208/report/84904106437

I could reproduce this issue with QC35 with a variety of chromebooks too.

 

Comment 1 by wpwoo...@gmail.com, Jan 9 2018

I have this issue with my Bose headphones.  Even adjusting the volume on the Chromebook does not sync the volume.  You must adjust the volume from the headphones, then the actual headphone volume suddenly changes and is in sync with the volume indicator on the Chromebook.

Headphones have no issues with volume when connecting to other devices such as my Galaxy S8.  The volume is remembered correctly and applied correctly between listening sessions after disconnecting and reconnecting the headphones, and is always in sync between the volume indicated on the phone and the actual volume of the headphones.
Labels: -Pri-3 Pri-2
Status: Available (was: Untriaged)
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/adhd/+/d67885b57e9311c19be24acff1f69a20ebeae0a7

commit d67885b57e9311c19be24acff1f69a20ebeae0a7
Author: Hsin-Yu Chao <hychao@chromium.org>
Date: Fri Jan 19 01:40:56 2018

CRAS: bt_io - Initialize hardware volume flag correctly

Consider the sequence of events including:
(1) bluetoothd reports device property update
(2) bluetoothd reports A2DP transport connection
(3) creation of bt_io

(1) may happen before or after (2) and (3), so that the
'software_volume_needed' flag of bt_io needs to be initialized
base on the status of bt device reported from bluetoothd.

BUG=chromium:800209
TEST=Repeatedly disconnect then connect QC35 headset
and adjust volume from UI and from headset button.
Verify that the volume state is synchronized from both
headset and Chromebook.

Change-Id: I71c55778114a0803da8a49905a7dab7b4aae3ae1
Reviewed-on: https://chromium-review.googlesource.com/872473
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Hsinyu Chao <hychao@chromium.org>
Reviewed-by: Hsinyu Chao <hychao@chromium.org>

[modify] https://crrev.com/d67885b57e9311c19be24acff1f69a20ebeae0a7/cras/src/tests/bt_io_unittest.cc
[modify] https://crrev.com/d67885b57e9311c19be24acff1f69a20ebeae0a7/cras/src/server/cras_bt_io.c

Comment 4 by hychao@chromium.org, Jan 19 2018

Status: Started (was: Available)
Found out there're issues in both bluetoothd and CRAS. With below patch applied the volume sync works consistently.

https://chromium-review.googlesource.com/#/c/chromiumos/third_party/bluez/+/874983
Project Member

Comment 5 by bugdroid1@chromium.org, Jan 20 2018

Labels: merge-merged-chromeos-5.44
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/third_party/bluez/+/e0a7062a65b35022c7dc43fbf40d6a4d9f4141e3

commit e0a7062a65b35022c7dc43fbf40d6a4d9f4141e3
Author: Hsin-Yu Chao <hychao@chromium.org>
Date: Sat Jan 20 01:18:01 2018

CHROMIUM: audio/media - Fix volume sync between media and transport

A volume value is cached on the global media player object. And a
check was used to NOT update volume to each transport if this
value doesn't change. That is causing problem at disconnect then
reconnect when the new constructed transport never receive update
about the last used volume value.

BUG=chromium:800209
TEST=Use volume button on QC35 to adjust volume, disconnect and then
reconnect. Now use Chromebook volume keys to adjust volume to verify
it stays sync with the control from headset's button.

Change-Id: Ifed19315ce60e71d3077a61bcba880cd76f7f760
Reviewed-on: https://chromium-review.googlesource.com/874983
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Tested-by: Hsinyu Chao <hychao@chromium.org>
Reviewed-by: Shyh-In Hwang <josephsih@chromium.org>

[modify] https://crrev.com/e0a7062a65b35022c7dc43fbf40d6a4d9f4141e3/profiles/audio/media.c

Comment 6 by wpwoo...@gmail.com, Feb 18 2018

Just tested this on my caroline on 65.0.3325.65 beta.  There is still an issue.  After the Bluetooth headphone connects, the volume is now correct and is remembered across connections.  If you change the volume from the headphones, it works correctly.  However, if you try changing the volume from the Chromebook immediately after connecting, before changing the volume from the headphones, the volume does not change at all no matter where you put the Chromebook volume slider, unless you put it all the way to mute.

Comment 7 by wpwoo...@gmail.com, Mar 1 2018

Hi were you able to repro this?

Comment 8 by wpwoo...@gmail.com, Mar 31 2018

Just replicated this issue (#6) on eve 65.0.3325.184 stable: Immediately after connecting to Bluetooth headphones, if you try changing the volume from the Chromebook volume slider or from the hardware volume controls, before changing the volume from the headphones, the headphone volume does not change at all no matter where you put the Chromebook volume slider, unless you put it all the way to mute.

Sign in to add a comment