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

Jack Hill <jackhill3...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
      Latest Commit|https://invent.kde.org/mult |https://invent.kde.org/mult
                   |imedia/elisa/-/commit/1e3fd |imedia/elisa/-/commit/25af9
                   |23902f3d39c62aef79dd6971fb6 |be945684b72dbbab221f1b423db
                   |17ad87ad                    |33dd1ae3

--- Comment #3 from Jack Hill <jackhill3...@gmail.com> ---
Git commit 25af9be945684b72dbbab221f1b423db33dd1ae3 by Jack Hill.
Committed on 14/11/2024 at 22:48.
Pushed by jackh into branch 'release/24.12'.

libvlc: Set media player role to "Music"

PipeWire/WirePlumber stream restore function often uses the streams
`media.role` property to restore stream volume and output device when
a new stream is stated. By default libvlc doesn't have a value set for
the relevant property, resulting in `media.role = "Movie"` being the
default. This is annoying (to me) as I'd like to use a different device
(speakers) for music playback than for video playback (my headphones).

Test-plan:

I inspected the audio stream generated by Elisa with this patch applied.
I first get the stream ID using `wpctl status` and then inspecting the
correct stream using `wpctl inspect xxx`. It now (correctly) reports
`media.role = "Music"` instead of `media.role = "Movie"` like before.

Stream restore is also working correctly with this patch applied:

1. Play a video using e.g. mpv. Note which output device and playback
   volume are used for it. Quit mpv.
2. Start Elisa and play a song and pause it after a bit.
3. Either while still playing or when paused, change the volume and/or
   stream output device to something else.
4. Pause the stream.
5. Start playing a video (again) using e.g. mpv.
   Without the patch applied it should be using the same device/volume
   that Elisa is set to.    With it applied it should be using whatever
   was used previously.
6. Switch mpv to another audio device and/or change the playback volume.
7. Start playing a new track in Elisa, either by clicking "Next track"
   or clicking one (even the same, already paused file works) in the
   playlist.
8. Elisa starts a new stream.
   With the patch applied the stream should go to the device set in
   step 3 with the same volume it had before. Without the patch the
   stream uses the same properties as mpv in step 6.

With the Qt Multimedia backend it's likely not possible to implement at
the moment as the stream type support got removed from Qt 3 years ago here:
https://github.com/qt/qtmultimedia/commit/634894a8a83b021386da8c2672628b0b26185ef3


(cherry picked from commit 1e3fd23902f3d39c62aef79dd6971fb617ad87ad)

b11ea27f libvlc: Set media player role to "Music"

Co-authored-by: Daniel Schulte <trilader+...@schroedingers-bit.net>

M  +2    -0    src/audiowrapper_libvlc.cpp

https://invent.kde.org/multimedia/elisa/-/commit/25af9be945684b72dbbab221f1b423db33dd1ae3

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

Reply via email to