https://bugs.kde.org/show_bug.cgi?id=368472

            Bug ID: 368472
           Summary: PulseAudio streams are moved to KDE's preferred audio
                    device for certain non-KDE apps that try to use a
                    specific device
           Product: kdemultimedia
           Version: unspecified
          Platform: Debian stable
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: kde-multime...@kde.org
          Reporter: chris.k...@gmail.com

Using KDE Platform Version 4.14.2.

When OpenAL Soft <http://openal-soft.org/> is set to use PulseAudio for output,
and is configured to allow output streams to be moved during playback, KDE will
see the stream it creates and forcefully move it to the preferred audio device
as set in the System Settings. This occurs even when the stream is explicitly
connected to a specific device by the app, and even if the app was previously
moved to a different device through kmix or pavucontrol. This effectively makes
it impossible for any OpenAL app to open a specific device when playback is
movable, and instead has to be moved onto the desired device after starting.

Other applications, such as Firefox, do not exhibit this behavior. They will
use the device that they were last set to use through pavucontrol. Unloading
module-device-manager from PulseAudio works around the problem by preventing
KDE from handling specific devices, though is obviously less than ideal.

Ideally, what I'd like to see happen, is that if an app has OpenAL Soft connect
to the default device, KDE can manage it and keep it on the preferred audio
device as the device list changes, but when it connects to a specific device,
it leaves it on that device. Or failing that, to simply not ever move it on its
own.

Reproducible: Always

Steps to Reproduce:
1. Install a recent Git version of OpenAL Soft (with PulseAudio support, and
with examples if you don't have another OpenAL app to run). A recent release
may work too, but the examples in those versions don't have an option to play
on a specific device.
2. Configure OpenAL Soft to allow PulseAudio streams to move, by creating or
editing ~/.alsoftrc and adding the lines:
[pulse]
allow-moves = true
3. Run an app using OpenAL Soft, such as the alstream example, using different
output devices.

Actual Results:  
Playback is immediately moved to the preferred audio device set in KDE's System
Settings.

Expected Results:  
Playback stays on the requested device.

I'm the author of OpenAL Soft, and tracked the problem of OpenAL apps not
staying on the devices they were opened on, to KDE, as it only happens when KDE
has the ability to manage PulseAudio app devices (making the stream unmovable,
or unloading module-device-manager, prevents the problem; changing KDE's
preferred audio device while the app is running causes playback to move to the
new preferred device too). I do not see anything on OpenAL Soft's side that
would cause KDE to do this, and can't see any difference between Firefox and
OpenAL Soft apps (as seen by PulseAudio's sink-input properties) that could
trigger this behavior.

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to