Can't select bluetooth input while on a2dp profile

Bug #1367693 reported by David Henningsson
14
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OEM Priority Project
Fix Released
Critical
David Henningsson
unity-control-center (Ubuntu)
Fix Released
Undecided
David Henningsson
Trusty
Fix Released
Undecided
Unassigned

Bug Description

SRU Justification:

Requested by OEM-priority.

[Test case]
Steps to reproduce:

1. On a normal laptop, connect a bluetooth headset with both a2dp and hsp capabilities
2. Go to output tab, select headset and set to a2dp profile
3. Go to input tab and select headset.

Now, the headset appears selected, but in fact it is not and instead the settings for "internal mic" is shown on the right hand side (see screenshot).

[Regression Potential]
Yes, because the fixes touch generic code. I suggest we test on both laptop and desktop, and with both USB and Bluetooth. And keep an eye on unwanted profile changes or wrong information in the input level bar.
That said, I'm pretty certain the patches do what they should, but being overly cautious is better than the opposite extreme when it comes to SRUs.

ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: unity-control-center 14.04.3+14.04.20140604-0ubuntu1
ProcVersionSignature: Ubuntu 3.13.0-35.62-generic 3.13.11.6
Uname: Linux 3.13.0-35-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.3
Architecture: amd64
CurrentDesktop: Unity
Date: Wed Sep 10 12:49:51 2014
EcryptfsInUse: Yes
InstallationDate: Installed on 2014-03-07 (186 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Alpha amd64 (20140307)
SourcePackage: unity-control-center
UpgradeStatus: No upgrade log present (probably fresh install)
usr_lib_unity-control-center:
 activity-log-manager 0.9.7-0ubuntu14
 deja-dup 30.0-0ubuntu4

Related branches

Revision history for this message
David Henningsson (diwic) wrote :
Revision history for this message
David Henningsson (diwic) wrote :
description: updated
Changed in oem-priority:
assignee: nobody → David Henningsson (diwic)
Changed in unity-control-center (Ubuntu):
assignee: nobody → David Henningsson (diwic)
Changed in oem-priority:
status: New → Triaged
Changed in unity-control-center (Ubuntu):
status: New → Triaged
Revision history for this message
David Henningsson (diwic) wrote :

Ok, so one finding:

This row (in gvc-mixer-control.c, update_sink and update_source)
                control->priv->profile_swapping_device_id = GVC_MIXER_UI_DEVICE_INVALID;

...needs to move inside this block:
                         if (gvc_mixer_ui_device_get_stream_id (dev) == gvc_mixer_stream_get_id (stream)) {

...otherwise profile_swapping_device_id gets forgotten before it is used.

Revision history for this message
David Henningsson (diwic) wrote :

Ok, and the second finding. If a stream is currently creating, pa_stream_disconnect fails, and the stream continues to set itself up and starts to produce samples.
So when the sound applet starts up, this seems to happen due to some race condition because active_input_update is called twice.

There are more than one way to solve this problem, and maybe I should do both workarounds:

 1) If pa_stream_disconnect fails, make sure that we retry the disconnection later.

 2) If active_input_update is called twice for the same object, there is no need to tear down the stream and then set it up again. This is what seems to happen at startup.

Changed in unity-control-center (Ubuntu):
status: Triaged → In Progress
Changed in oem-priority:
status: Triaged → In Progress
Revision history for this message
David Henningsson (diwic) wrote :
description: updated
Ara Pulido (ara)
Changed in oem-priority:
importance: Undecided → Critical
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-control-center - 14.10.0+14.10.20140922-0ubuntu1

---------------
unity-control-center (14.10.0+14.10.20140922-0ubuntu1) utopic; urgency=low

  [ Robert Ancell ]
  * Fix Vcs-Bzr link that was pointing to gnome-control-center packaging
  * Use libunity-settings-daemon to replace functionality that is being
    changed/removed in libgnome-desktop (LP: #1372240)

  [ David Henningsson ]
  * Make sure selecting a bluetooth input works even when the headset is
    in A2DP mode, and make sure the correct levels are shown in the
    level bar (Bug 1367693) (LP: #1367693)

  [ Mathieu Trudel-Lapierre ]
  * Deactivate the wired device when wired is switched off. (LP:
    #1354987)
 -- Ubuntu daily release <email address hidden> Mon, 22 Sep 2014 11:36:24 +0000

Changed in unity-control-center (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Chris J Arges (arges) wrote :
Changed in unity-control-center (Ubuntu Trusty):
status: New → Fix Committed
tags: added: verification-needed
Revision history for this message
Chris J Arges (arges) wrote : Please test proposed package

Hello David, or anyone else affected,

Accepted unity-control-center into trusty-proposed. The package will build now and be available at http://launchpad.net/ubuntu/+source/unity-control-center/14.04.3+14.04.20140922-0ubuntu1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-done
removed: verification-needed
Revision history for this message
David Henningsson (diwic) wrote :

Confirmed working on my laptop (which was the one where I also did the development of the patch).

Also, I ran a "random clicking" regression test on my desktop computer (which does not have bluetooth), no regressions found.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package unity-control-center - 14.04.3+14.04.20140922-0ubuntu1

---------------
unity-control-center (14.04.3+14.04.20140922-0ubuntu1) trusty; urgency=low

  [ David Henningsson ]
  * Make sure selecting a bluetooth input works even when the headset is
    in A2DP mode, and make sure the correct levels are shown in the
    level bar (Bug 1367693) (LP: #1367693)
 -- Ubuntu daily release <email address hidden> Mon, 22 Sep 2014 17:27:43 +0000

Changed in unity-control-center (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Chris J Arges (arges) wrote : Update Released

The verification of the Stable Release Update for unity-control-center has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Changed in oem-priority:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.