Bug 222841 - kscd often fails to begin playback when play button is pressed
Summary: kscd often fails to begin playback when play button is pressed
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kscd
Classification: Miscellaneous
Component: general (show other bugs)
Version: unspecified
Platform: Arch Linux Linux
: NOR normal
Target Milestone: ---
Assignee: Aaron J. Seigo
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-15 13:54 UTC by Andrew Munkres
Modified: 2023-11-10 16:11 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Munkres 2010-01-15 13:54:21 UTC
Version:           4.3.4 (using KDE 4.3.4)
OS:                Linux
Installed from:    Archlinux Packages

When pressing the play button in KsCD, nothing happens. (The drive light remains off and the slider does not move.) I'm using the gstreamer Phonon backend. Other Phonon-based players, such as Dragon Player and Kaffeine for KDE4, are able to play CDs.

I first noticed this problem after updating to version 4.3.3-1 of Arch Linux's kdemultimedia-kscd package. I reported the problem to Arch's bug tracker then, and the response was:

    Looks like upstream issue rahter than a packaging issue. Please report to upstream if not already reported. Thanks.

The problem seemed to go away after updating to 4.3.4-1. However, the problem has now returned after some more system updates (but the KDE packages, including kdemultimedia-kscd, have not been updated since then, they are still at version 4.3.4-1).
Comment 1 Andrew Munkres 2010-02-12 08:00:49 UTC
Arch Linux has now updated to 4.4.0. KsCD doesn't seem to be having this problem in 4.4.0... at least, it hasn't yet.
Comment 2 Igor 2011-04-07 08:10:50 UTC
I have the same problem in Archlinux now. Here is the console output after pressing 'Play' button:

play                                                                                                                                     
stateChangedInternal newState: "PlayingState" previousState: "StoppedState"                                                                                  
updateVolume Volume changed to -  50  From  50                                                                                                               
[0xa26c944] main stream error: cannot pre fill buffer                                                                                                        
updateDuration Length changing from  -1  to  3009560                                                                                                         
stateChangedInternal newState: "ErrorState" previousState: "PlayingState"

KDE version: 4.6.2
Archlinux -current
Comment 3 Igor 2011-04-07 08:30:36 UTC
I can always reproduce it when I use phonon-vlc as the most preferable backend. But when I use phonon-xine, the issue is gone.

But since phonon-xine is marked as deprecated (I read announcement here: http://www.archlinux.org/news/kde-sc-46-to-extra/), it'd be really good if kscd could work with other phonon backends.
Comment 4 Andrew Munkres 2011-04-20 07:26:39 UTC
The problem is happening again for me in 4.6.2. However, it doesn't always happen -- sometime it will play correctly, sometimes not, and I don't know what makes the difference. (Also, I'm using the phonon-gstreamer backend.)
Comment 5 Marek Paśnikowski 2011-07-09 18:37:04 UTC
I am an Arch user of the newest stable KDE (4.6.5, obviously). I would love to see the bug crushed. Trying to make it work, I did two hacks found on the net. First, I edited the second line of /usr/share/apps/solid/actions/kscd-play-audiocd.desktop to:
X-KDE-Solid-Predicate=OpticalDisc.availableContent & 'Audio'
which allowed me to launch KsCD right from the device notifier (it is another bug, but similarly nasty). The other hack was creation of /dev/cdrom -> /dev/sr0 symlink which enabled KsCD's CDDB fetch of CD-AUDIO metadata. Still,

$ kscd
[...CDDB fetch output...]
$ [0x7f81ac001820] main stream error: cannot pre fill buffer

So I guess I am stuck here. It seems to be udev or phonon related problem, but I have no knowledge to state anything for sure. If it works in any other distribution, one can ask the maintaining team, what hacks did they use to make it work. It is all I can give myself to help solve the problem.
Comment 6 Andrew Crouthamel 2018-11-06 15:16:48 UTC
Dear Bug Submitter,

This bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? I am setting the status to NEEDSINFO pending your response, please change the Status back to REPORTED when you respond.

Thank you for helping us make KDE software even better for everyone!
Comment 7 Andrew Crouthamel 2018-11-18 03:29:32 UTC
Dear Bug Submitter,

This is a reminder that this bug has been stagnant for a long time. Could you help us out and re-test if the bug is valid in the latest version? This bug will be moved back to REPORTED Status for manual review later, which may take a while. If you are able to, please lend us a hand.

Thank you for helping us make KDE software even better for everyone!
Comment 8 Justin Zobel 2022-12-20 22:51:37 UTC
Thank you for reporting this issue in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the issue with a recent software version?

If you can reproduce the issue, please change the status to "REPORTED" when replying. Thank you!
Comment 9 Andrew Munkres 2022-12-27 18:40:06 UTC
I tried building KsCD from source, using the kf5 branch in the https://invent.kde.org/multimedia/kscd.git Git repository), but it failed to compile:

[ 38%] Building CXX object CMakeFiles/kscd.dir/mbmanager.cpp.o
/home/amunkres/software/aur/kscd-git/src/kscd/mbmanager.cpp: In member function ‘void MBManager::discUpload(const QString&)’:
/home/amunkres/software/aur/kscd-git/src/kscd/mbmanager.cpp:325:43: error: cannot convert ‘QString’ to ‘const QUrl&’
  325 |                 QDesktopServices::openUrl(url);
      |                                           ^~~
      |                                           |
      |                                           QString
In file included from /usr/include/qt/QtGui/QDesktopServices:1,
                 from /home/amunkres/software/aur/kscd-git/src/kscd/mbmanager.cpp:36:
/usr/include/qt/QtGui/qdesktopservices.h:59:37: note:   initializing argument 1 of ‘static bool QDesktopServices::openUrl(const QUrl&)’
   59 |     static bool openUrl(const QUrl &url);
      |                         ~~~~~~~~~~~~^~~
make[2]: *** [CMakeFiles/kscd.dir/build.make:197: CMakeFiles/kscd.dir/mbmanager.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:479: CMakeFiles/kscd.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

(See also the comments at https://aur.archlinux.org/packages/kscd-git -- the AUR package maintainer encountered this same compilation error.)

However, the KsCD project on invent.kde.org is currently in "archived" status (see https://invent.kde.org/groups/multimedia/-/archived ), which seems to indicate that KsCD is no longer maintained? If so, then I suppose there's no reason to keep this bug open.
Comment 10 Gustavo Alvarez 2023-11-10 16:10:51 UTC
fixed the qurl issue and fix the skin (and a little update deprecation warning)

diff --git a/kscd.kcfg b/kscd.kcfg
index c6f8daf..8f2f124 100644
--- a/kscd.kcfg
+++ b/kscd.kcfg
@@ -28,7 +28,7 @@
 	    <whatsthis>Change the font of the text in the panel</whatsthis>
         </entry>
 	<entry name="url" type="String">
-		<default code="true">QStandardPaths::standardLocations(QStandardPaths::DataLocation).last() + QLatin1String("kscd/skin/default.svg")</default>
+		<default code="true">QStandardPaths::standardLocations(QStandardPaths::DataLocation).last() + QLatin1String("/skin/default.svg")</default>
 	  <label>The skin that will be use for the application</label>
 	  <whatsthis>Change the skin of the application</whatsthis>
 	</entry>

diff --git a/mbmanager.cpp b/mbmanager.cpp
index 1f3d245..9f0b301 100644
--- a/mbmanager.cpp
+++ b/mbmanager.cpp
@@ -32,6 +32,7 @@
  */
 #include "mbmanager.h"
 
+#include <QUrl>
 #include <QDebug>
 #include <QDesktopServices>
 
diff --git a/kscd.kcfg b/kscd.kcfg
index c6f8daf..8f2f124 100644
--- a/kscd.kcfg
+++ b/kscd.kcfg
@@ -28,7 +28,7 @@
 	    <whatsthis>Change the font of the text in the panel</whatsthis>
         </entry>
 	<entry name="url" type="String">
-		<default code="true">QStandardPaths::standardLocations(QStandardPaths::DataLocation).last() + QLatin1String("kscd/skin/default.svg")</default>
+		<default code="true">QStandardPaths::standardLocations(QStandardPaths::DataLocation).last() + QLatin1String("/skin/default.svg")</default>
 	  <label>The skin that will be use for the application</label>
 	  <whatsthis>Change the skin of the application</whatsthis>
 	</entry>


greetings
Comment 11 Gustavo Alvarez 2023-11-10 16:11:55 UTC
ops. patch duplicatd. the other patch:

diff --git a/kscd.cpp b/kscd.cpp
index d8996f1..1827a5c 100644
--- a/kscd.cpp
+++ b/kscd.cpp
@@ -337,7 +337,7 @@ void KSCD::changeVolume(qreal value)
 
 void KSCD::configureShortcuts()
 {
-	KShortcutsDialog::configure(m_actions, KShortcutsEditor::LetterShortcutsAllowed, this, true);
+	KShortcutsDialog::showDialog(m_actions, KShortcutsEditor::LetterShortcutsAllowed, this);
 }
 
 void KSCD::ejectShortcut()
@@ -761,7 +761,7 @@ void KSCD::writeSettings()
 
 void KSCD::configureKeys()
 {
-	KShortcutsDialog::configure(m_actions, KShortcutsEditor::LetterShortcutsAllowed, this, true);
+	KShortcutsDialog::showDialog(m_actions, KShortcutsEditor::LetterShortcutsAllowed, this);
 }
 
 /**


greetings again