[Bug 1834138] Re: PA: Don't restore the streams to sinks/sources with only unavailable ports

Mathew Hodson mathew.hodson at gmail.com
Sun Sep 1 02:54:31 UTC 2019

** Changed in: pulseaudio (Ubuntu Bionic)
       Status: Incomplete => Triaged

You received this bug notification because you are a member of Ubuntu
Sponsors Team, which is subscribed to the bug report.

  PA: Don't restore the streams to sinks/sources with only unavailable

Status in HWE Next:
Status in OEM Priority Project:
Status in pulseaudio package in Ubuntu:
  Fix Released
Status in pulseaudio source package in Bionic:
Status in pulseaudio source package in Disco:
  Fix Committed
Status in pulseaudio source package in Eoan:
  Fix Released

Bug description:
  SRU Document:


  The Lenovo P520 machine has dual analogue codecs, so there are two
  sinks and two sources in the PA, one has the front headphone and front
  microphone, the other has the rear lineout, linein and rear
  microphone, and the rear microphone always shows up in the gnome-
  sound-setting, When we plug a microphone to front audio jack, there
  are two input devices: rear mic and front mic in the gnome-sound-
  setting, and suppose users select the the front mic to record sound
  via audio app like arecord, the front mic will be bond the arecord,
  after the front mic is unplugged, there is only one rear mic left in
  the gnome-sound-setting, but the binding will not be changed, the
  arecrod still bind to front mic, under this situation if users record
  sound via arecord, they will find they can't record any sound from any
  other input devices even they are listed in the gnome-sound-setting.
  This problem also happens to output devices too.

  [Test Case]

  After applying this patch, I did the same test: unplug the front mic,
  then use the arecord to record sound, the app can record sound from
  rear mic now. After I plug the front mic back, the arecord still
  record from front mic. Also did the similar test for output devices,
  it worked as expected too.

  [Regression Potential]

  Low, Just make a simple check when creating new streams
  (sink_input/source_output), If the restored device (sink/source) has
  ports and all ports are unavialble, it will not restore the binding,
  otherwise it will work as before.

  For the Bionic, This SRU also includes the fix of LP: #1556439, this
  fix is safe and is very low possible to introduce any regression too,
  because it just adds a sink-input/source-output state checking, if the
  sink-input/source-output is unlinking or unlinked, it is useless to
  move it to a new sink/source, furthermore it will trigger an assertion
  that make the pulseaudio crash, adding this check can fix this problem
  (LP: #1556439).

  [Other Info]

  No more info here

To manage notifications about this bug go to:

More information about the Ubuntu-sponsors mailing list