Bug 508871 - kasts 25.08.0 reset audio backend to QtMultimedia (bisected to have regressed in 09c90105e5a8612fa733b90b3e31d1bf4f40d697)
Summary: kasts 25.08.0 reset audio backend to QtMultimedia (bisected to have regressed...
Status: RESOLVED FIXED
Alias: None
Product: kasts
Classification: Applications
Component: general (other bugs)
Version First Reported In: 25.08.0
Platform: Debian unstable Linux
: NOR normal
Target Milestone: ---
Assignee: bart
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-08-28 20:07 UTC by Marco Mattiolo
Modified: 2025-09-02 20:20 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Mattiolo 2025-08-28 20:07:35 UTC
SUMMARY
Hi,
as you taught me, the audio backend QtMultimedia is kind-of-deprecated on Linux (#473648) and can cause all kind of issues (#508302). Therefore, kasts on Linux tries to use VLC backend whenever possible. This was true until kasts_25.04.3, now kasts_25.08.0 resets the backend to QtMultimedia. 
(I hope I haven't messed up Debian packaging, I've used the usual Qt/KDE team packaging scripts to manage the update.)
I've bisected the git history between 25.04.3 and 25.08.0 : 8119acce works, while 09c90105 has the regression (installing 09c90105 on top of 8119acce is seen as a downgrade in the log here below simply due to alphabetic order).
QtMultimedia being used is evident in the terminal (qt.multimedia.ffmpeg lines), then I can simply attach the terminal log without any screenshot.

mobian@mobian:~$ sudo apt install kasts/trixie
Selected version '25.04.3-1' (Debian:13.0/stable [arm64]) for 'kasts'
DOWNGRADING:
  kasts

Summary:
  Upgrading: 0, Installing: 0, Downgrading: 1, Removing: 0, Not Upgrading: 2
  Download size: 863 kB
  Freed space: 1055 kB

Continue? [Y/n] 
Get:1 http://deb.debian.org/debian trixie/main arm64 kasts arm64 25.04.3-1 [863 kB]
Fetched 863 kB in 0s (2028 kB/s)
dpkg: warning: downgrading kasts (25.07.0+git09c90105-1) to (25.04.3-1)
(Reading database ... 142087 files and directories currently installed.)
Preparing to unpack .../kasts_25.04.3-1_arm64.deb ...
Unpacking kasts (25.04.3-1) over (25.07.0+git09c90105-1) ...
Setting up kasts (25.04.3-1) ...
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for hicolor-icon-theme (0.18-2) ...
Processing triggers for libc-bin (2.41-12) ...
mobian@mobian:~$ rm -R .local/share/KDE/kasts
mobian@mobian:~$ rm -R .cache/KDE/kasts
mobian@mobian:~$ rm .config/KDE/kasts.conf 
mobian@mobian:~$ kasts
Activating WAL mode on database: ok
Database version 0
Migrating database to version 1
Migrating database to version 2
Migrating database to version 3
Migrating database to version 4
Migrating database to version 5
Migrating database to version 6
Migrating database to version 7
Migrating database to version 8; this can take a while
Migrating database to version 9
Migrating database to version 10
Migrating database to version 11
qrc:/qt/qml/org/kde/kasts/qml/FeedListPage.qml:18:1: QML FeedListPage: Created graphical object was not placed in the graphics scene.
file:///usr/lib/aarch64-linux-gnu/qt6/qml/org/kde/kirigami/PageRow.qml:1099:5: QML RowLayout: StackView has detected conflicting anchors. Transitions may not execute properly.
qrc:/qt/qml/org/kde/kirigamiaddons/settings/private/ConfigMobilePage.qml:126: GeneralSettingsPage_QMLTYPE_276(0xaaaaf8967e30) should be coerced to void because the function called is insufficiently annotated. The original value is retained. This will change in a future version of Qt.
file:///usr/lib/aarch64-linux-gnu/qt6/qml/org/kde/kirigami/PageRow.qml:724:5: QML StackView: replace: nothing to push
mobian@mobian:~$ sudo apt install ./kasts_25.07.0+git8119acce-1_arm64.deb 
Note, selecting 'kasts' instead of './kasts_25.07.0+git8119acce-1_arm64.deb'
Upgrading:
  kasts

Summary:
  Upgrading: 1, Installing: 0, Removing: 0, Not Upgrading: 2
  Download size: 0 B / 921 kB
  Space needed: 1055 kB / 98.2 GB available

Get:1 /home/mobian/kasts_25.07.0+git8119acce-1_arm64.deb kasts arm64 25.07.0+git8119acce-1 [921 kB]
(Reading database ... 142088 files and directories currently installed.)
Preparing to unpack .../kasts_25.07.0+git8119acce-1_arm64.deb ...
Unpacking kasts (25.07.0+git8119acce-1) over (25.04.3-1) ...
Setting up kasts (25.07.0+git8119acce-1) ...
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for hicolor-icon-theme (0.18-2) ...
Processing triggers for libc-bin (2.41-12) ...
Notice: Download is performed unsandboxed as root as file '/home/mobian/kasts_25.07.0+git8119acce-1_arm64.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
mobian@mobian:~$ kasts
Database version 11
qrc:/qt/qml/org/kde/kasts/qml/FeedListPage.qml:18:1: QML FeedListPage: Created graphical object was not placed in the graphics scene.
file:///usr/lib/aarch64-linux-gnu/qt6/qml/org/kde/kirigami/PageRow.qml:1099:5: QML RowLayout: StackView has detected conflicting anchors. Transitions may not execute properly.
qrc:/qt/qml/org/kde/kirigamiaddons/settings/private/ConfigMobilePage.qml:126: GeneralSettingsPage_QMLTYPE_303(0xaaaac386c510) should be coerced to void because the function called is insufficiently annotated. The original value is retained. This will change in a future version of Qt.
file:///usr/lib/aarch64-linux-gnu/qt6/qml/org/kde/kirigami/PageRow.qml:724:5: QML StackView: replace: nothing to push
mobian@mobian:~$ sudo apt install ./kasts_25.07.0+git09c90105-1_arm64.deb 
Note, selecting 'kasts' instead of './kasts_25.07.0+git09c90105-1_arm64.deb'
DOWNGRADING:
  kasts

Summary:
  Upgrading: 0, Installing: 0, Downgrading: 1, Removing: 0, Not Upgrading: 2
  Download size: 0 B / 921 kB
  Space needed: 0 B / 98.2 GB available

Continue? [Y/n] 
Get:1 /home/mobian/kasts_25.07.0+git09c90105-1_arm64.deb kasts arm64 25.07.0+git09c90105-1 [921 kB]
dpkg: warning: downgrading kasts (25.07.0+git8119acce-1) to (25.07.0+git09c90105-1)
(Reading database ... 142087 files and directories currently installed.)
Preparing to unpack .../kasts_25.07.0+git09c90105-1_arm64.deb ...
Unpacking kasts (25.07.0+git09c90105-1) over (25.07.0+git8119acce-1) ...
Setting up kasts (25.07.0+git09c90105-1) ...
Processing triggers for hicolor-icon-theme (0.18-2) ...
Processing triggers for libc-bin (2.41-12) ...
Notice: Download is performed unsandboxed as root as file '/home/mobian/kasts_25.07.0+git09c90105-1_arm64.deb' couldn't be accessed by user '_apt'. - pkgAcquire::Run (13: Permission denied)
mobian@mobian:~$ kasts
Database version 11
qt.multimedia.ffmpeg: Using Qt multimedia with FFmpeg version 7.1.1-1+b1 GPL version 2 or later
qt.multimedia.ffmpeg: Available HW decoding frameworks:
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
qt.multimedia.ffmpeg: Available HW encoding frameworks:
qrc:/qt/qml/org/kde/kasts/qml/FeedListPage.qml:18:1: QML FeedListPage: Created graphical object was not placed in the graphics scene.
file:///usr/lib/aarch64-linux-gnu/qt6/qml/org/kde/kirigami/PageRow.qml:1099:5: QML RowLayout: StackView has detected conflicting anchors. Transitions may not execute properly.
qrc:/qt/qml/org/kde/kirigamiaddons/settings/private/ConfigMobilePage.qml:126: GeneralSettingsPage_QMLTYPE_303(0xaaab0dc21250) should be coerced to void because the function called is insufficiently annotated. The original value is retained. This will change in a future version of Qt.
file:///usr/lib/aarch64-linux-gnu/qt6/qml/org/kde/kirigami/PageRow.qml:724:5: QML StackView: replace: nothing to push
mobian@mobian:~


I've also tried the following on top of 25.08.0
--- kmediasession.cpp   2025-08-28 22:04:37.437475309 +0200
+++ build_kasts/kasts/src/kmediasession/kmediasession.cpp       2025-08-27 21:36:14.228985872 +0200
@@ -65,11 +65,14 @@
         setCurrentBackend(mediaBackend);
     } else {
 #ifdef HAVE_LIBVLC
+        qWarning() << "setting VLC backend";
         setCurrentBackend(KMediaSession::MediaBackends::Vlc);
 #else
 #ifdef HAVE_GST
+        qWarning() << "setting Gstreamer backend";
         setCurrentBackend(KMediaSession::MediaBackends::Gst);
 #else
+        qWarning() << "setting QtMultimedia backend";
         setCurrentBackend(KMediaSession::MediaBackends::Qt);
 #endif
 #endif

but I haven't seen any of those debug lines in the terminal, then either I've done it wrong or those lines are not relevant for the Linux usecase.

It would be nice that the Linux build got back to using VLC backend by default. Thank you

SOFTWARE/OS VERSIONS
Linux: 6.16-sm6350
KDE Plasma Version: 6.3.6
KDE Frameworks Version: 6.13.0
Qt Version: 6.8.2
Comment 1 bart 2025-08-28 20:18:17 UTC
I'm not at a computer right now, but reading through your description, it sounds like it could simply be the new feature that Kasts will remember the last audio backend that was used. Versions from after that particular commit will start up with the saved backend from the config file, while older versions will always try to use VLC.
So, it could be that you switched to qtmultimedia with a newer version (maybe to quickly test it out?)
It's easy to check this: just change the backend back to VLC, close the app and open it again. It should now start up with VLC.
Comment 2 Marco Mattiolo 2025-08-29 18:50:34 UTC
Hi Bart,
yes, if I select VLC backend, kasts remember the backend choice for the future.

But here the issue is, I've never selected QtMultimedia as backend, yet kasts_25.08.0 defaults to it when it is first run.

Let me recap the steps of the terminal log in my previous message:
1. install kasts_25.04.3
2. start it, check it is using VLC backend
3. install kasts compiled at commit 8119acce
4. start it, it is still using VLC backend
5. installed kasts compiled at commit 09c90105
6. start it, it is using QtMultimedia

It is not clear to me, is kasts_25.08.0 supposed to reset the audio backend to QtMultimedia? Because that's what I'm seeing.
Comment 3 bart 2025-09-02 18:53:03 UTC
I looked at the commit that you mentioned in more detail (finally had some time).  It seems that you were correct.  The app is accidentally setting qtmultimedia as default.  It's because the new settings entry (accidentally) has qtmultimedia as default.  This setting will override all the other defaults that all point to VLC.  I completely missed that one.

At least, that's what I suspect from reading the source code.  I'll do some more testing and fix it once I'm sure of the root cause.

Thanks for spotting this!

PS: Since qt6.10 will have support for pitch correction, Kasts may switch to qtmultimedia again in the (near) future.  But I'll only do that if it turns out to be stable enough.
Comment 4 Bug Janitor Service 2025-09-02 19:18:14 UTC
A possibly relevant merge request was started @ https://invent.kde.org/multimedia/kasts/-/merge_requests/290
Comment 5 Bug Janitor Service 2025-09-02 19:21:14 UTC
A possibly relevant merge request was started @ https://invent.kde.org/multimedia/kasts/-/merge_requests/291
Comment 6 bart 2025-09-02 19:21:55 UTC
Git commit ea8fff851e4792fa0d9cc28a2918d15360b3426f by Bart De Vries.
Committed on 02/09/2025 at 19:17.
Pushed by bdevries into branch 'master'.

Fix VLC being default backend

M  +1    -1    src/settingsmanager.kcfg

https://invent.kde.org/multimedia/kasts/-/commit/ea8fff851e4792fa0d9cc28a2918d15360b3426f
Comment 7 bart 2025-09-02 19:26:23 UTC
Git commit 32ac8f1045ef76d39a53fb1d540bc8fda3792136 by Bart De Vries.
Committed on 02/09/2025 at 19:20.
Pushed by bdevries into branch 'release/25.08'.

Fix VLC being default backend

M  +1    -1    src/settingsmanager.kcfg

https://invent.kde.org/multimedia/kasts/-/commit/32ac8f1045ef76d39a53fb1d540bc8fda3792136
Comment 8 Marco Mattiolo 2025-09-02 20:20:41 UTC
Thank you!