Bug 490569

Summary: Regression: VLC media playback controls are partially broken (tray widget and keyboard controls)
Product: [Plasma] plasmashell Reporter: 43615 <xxx43615xxx>
Component: Media PlayerAssignee: Plasma Bugs List <plasma-bugs>
Status: REPORTED ---    
Severity: normal CC: bugseforuns, cre8or, kde, nate, qydwhotmail, xxx43615xxx
Priority: NOR Keywords: regression, usability
Version: 6.1.3   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
Latest Commit: Version Fixed In: 6.1.5
Sentry Crash Report:
Attachments: greyed out play button
another example of greyed out play button

Description 43615 2024-07-20 17:09:08 UTC
SUMMARY
Media playback through the VLC media player used to be controllable using the tray widget or global keyboard shortcuts. Since some recent Plasma version (likely 6.1 or after), playback can no longer be paused using the widget button (keyboard shortcut still works) or resumed once paused (using either the tray widget or keyboard shortcut). The other controls work fine, and this does not occur with other media players.

STEPS TO REPRODUCE
1. Install and open VLC media player (3.0.21)
2. Play an audio or video file
3. Attempt to pause playback using the tray widget, fails
4. Pause playback by other means
5. Attempt to resume it using anything except VLC itself, fails

OBSERVED RESULT
Clicking the tray widget's pause button does nothing. When trying to resume, neither the tray widget nor the keyboard shortcut function. The "play" button in the tray widget is greyed out while playback is paused. No further indication of the problem.

EXPECTED RESULT
Playback should be controlled as normal.

SOFTWARE/OS VERSIONS
Linux: Kernel 6.9.10-arch1
KDE Plasma Version: 6.1.3
KDE Frameworks Version: 6.4.0
Qt Version: 6.7.2
VLC media player: 3.0.21

ADDITIONAL INFORMATION
This is not a duplicate of #382412, since the keyboard shortcut still worked in that case. This is also not a regression in VLC (tested back to 3.0.18).
Comment 1 43615 2024-07-20 17:11:44 UTC
Created attachment 171832 [details]
greyed out play button
Comment 2 43615 2024-07-20 17:14:11 UTC
Created attachment 171833 [details]
another example of greyed out play button

taken by this user on KDE Discuss: https://discuss.kde.org/u/jonzn4SUSE/
Comment 3 Nate Graham 2024-07-26 23:07:52 UTC
IIRC this is a recent bug in VLC's MPRIS implementation. Do you recall what I might be thinking about, Ivan or Fushan?
Comment 4 Fushan Wen 2024-08-08 16:22:20 UTC
I just encountered the same bug. Should be a bug in VLC which is ancient enough.
Comment 5 Bug Janitor Service 2024-08-08 17:01:02 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4592
Comment 6 Bug Janitor Service 2024-08-08 17:01:04 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/plasma-workspace/-/merge_requests/4592
Comment 7 Fushan Wen 2024-08-09 00:56:28 UTC
Git commit c5edc144665a0d814a908ae6a120a288f7965d7d by Fushan Wen.
Committed on 08/08/2024 at 16:53.
Pushed by fusionfuture into branch 'master'.

applets/mediacontroller: use Play/Pause to control players

Some players don't report updated CanPlay or CanPause properties to
MPRIS, which is a problem for PlayPause() as it requires the player can
play and pause at the same time. Use Play/Pause to work around it.

M  +5    -1    applets/mediacontroller/package/contents/ui/main.qml

https://invent.kde.org/plasma/plasma-workspace/-/commit/c5edc144665a0d814a908ae6a120a288f7965d7d
Comment 8 Fushan Wen 2024-08-09 00:56:36 UTC
Git commit 627f5418409f2e362fb83f6fdb6f427221460a0c by Fushan Wen.
Committed on 08/08/2024 at 16:56.
Pushed by fusionfuture into branch 'master'.

libkmpris: refresh player when track list changes

For some players when the current track list changes, it doesn't emit
all changed properties for org.mpris.MediaPlayer2.Player. This adds a
check for the track list so when the track list changes, the player
information is refreshed.
FIXED-IN: 6.1.5

M  +2    -6    libkmpris/playercontainer.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/627f5418409f2e362fb83f6fdb6f427221460a0c
Comment 9 Fushan Wen 2024-08-09 00:57:04 UTC
Git commit 9a294b8a91170ed2bd5c75a65c81fee7c58839d2 by Fushan Wen.
Committed on 09/08/2024 at 00:57.
Pushed by fusionfuture into branch 'Plasma/6.1'.

applets/mediacontroller: use Play/Pause to control players

Some players don't report updated CanPlay or CanPause properties to
MPRIS, which is a problem for PlayPause() as it requires the player can
play and pause at the same time. Use Play/Pause to work around it.


(cherry picked from commit c5edc144665a0d814a908ae6a120a288f7965d7d)

Co-authored-by: Fushan Wen <qydwhotmail@gmail.com>

M  +5    -1    applets/mediacontroller/package/contents/ui/main.qml

https://invent.kde.org/plasma/plasma-workspace/-/commit/9a294b8a91170ed2bd5c75a65c81fee7c58839d2
Comment 10 Fushan Wen 2024-08-09 00:57:35 UTC
Git commit 1ff8f37f6a8fb47697364d56460989abbd764bbf by Fushan Wen.
Committed on 09/08/2024 at 00:57.
Pushed by fusionfuture into branch 'Plasma/6.1'.

libkmpris: refresh player when track list changes

For some players when the current track list changes, it doesn't emit
all changed properties for org.mpris.MediaPlayer2.Player. This adds a
check for the track list so when the track list changes, the player
information is refreshed.
FIXED-IN: 6.1.5


(cherry picked from commit 627f5418409f2e362fb83f6fdb6f427221460a0c)

Co-authored-by: Fushan Wen <qydwhotmail@gmail.com>

M  +2    -6    libkmpris/playercontainer.cpp

https://invent.kde.org/plasma/plasma-workspace/-/commit/1ff8f37f6a8fb47697364d56460989abbd764bbf
Comment 11 Patrick Silva 2024-09-11 11:13:40 UTC
The playback control via Media Player applet is still buggy on Plasma 6.1.5. Now it can be paused, but cannot be resumed.

Operating System: Arch Linux 
KDE Plasma Version: 6.1.5
KDE Frameworks Version: 6.5.0
Qt Version: 6.8.0
Graphics Platform: Wayland
Comment 12 Nate Graham 2024-09-11 11:55:53 UTC
Can you please open a new bug report for it, and put this one (490569) in the "See Also" field? Thank you!
Comment 13 Fushan Wen 2024-09-11 15:40:23 UTC
Report the bug to VLC please
Comment 14 Cre8or 2024-09-18 06:56:05 UTC
The same issue is happened to me with the Strawberry media player (and also VLC). Glad to hear I'm not alone with this.

I've reported the issue on the Strawberry repository: https://github.com/strawberrymusicplayer/strawberry/issues/1546

My understanding is that the KDE media widget signaling has been reworked, and media players now need to consider that change on their end. Is that correct?
Comment 15 Nate Graham 2024-09-18 18:32:40 UTC
What version of Plasma are you using, Cre8or?
Comment 16 Cre8or 2024-09-19 18:53:01 UTC
I'm currently on KDE Plasma 6.1.5.
Comment 17 Nate Graham 2024-09-20 16:19:45 UTC
Thanks.