Bug 486517 - Cannot play audio CDs with Amarok because it always shows 0 tracks
Summary: Cannot play audio CDs with Amarok because it always shows 0 tracks
Status: RESOLVED DOWNSTREAM
Alias: None
Product: amarok
Classification: Applications
Component: Collections/CD (show other bugs)
Version: 2.9.71
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: kf5
Assignee: Amarok Developers
URL:
Keywords:
: 497546 (view as bug list)
Depends on:
Blocks:
 
Reported: 2024-05-03 17:22 UTC by rashid_usm
Modified: 2024-12-16 14:22 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description rashid_usm 2024-05-03 17:22:13 UTC
SUMMARY

I cannot play CDs with Amarok because they are always shown to have 0 tracks.

STEPS TO REPRODUCE
1.  Insert an audio CD into the DVD drive in my computer.
2.  Wait for the system tray pop-up for new device "Audio CD".
3.  Either click on the option "Play audio CD with Amarok" (phrasing could be different, I use the German language pack) or start Amarok from the menu.

OBSERVED RESULT

In the left column, a new entry "Music CD" pops up which says "0 tracks". I cannot do anything with this new entry except clicking the "Eject" symbol, which ejects the CD from the drive.

EXPECTED RESULT

The new entry "Music CD" should show the list of tracks of the CD and I should be able to play the tracks.

SOFTWARE/OS VERSIONS

Linux/KDE Plasma: Fedora 40
(available in About System)
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.1.0
Qt Version: 6.7.0

ADDITIONAL INFORMATION

The same issue also happens when Amarok is already open when I insert the audio CD.

I can successfully play CDs in VLC and Dragon Player and can rip the tracks in K3B. I can also open the audio CD in Dolphin.
Comment 1 Tuomas Nurmi 2024-05-03 17:57:08 UTC
Thank you for your report!
Looking at the version details at https://packages.fedoraproject.org/pkgs/amarok/amarok/ , the version 2.9.71 available in Fedora repositories seems to originate from late March. Multiple CD related fixes were merged in just around that time, and this bug report seems similar especially to https://bugs.kde.org/show_bug.cgi?id=455371 fixed then.

Judging from the fact you can open the CD in Dolphin, it sounds like audiocd kioslave is installed ok, but you could maybe verify that this is the case; the relevant package is apparently called "audiocd-kio" in Fedora. Additionally I'd like to know if you could try this with a bit newer version of Amarok sources, but this is a bit of an extra threshold as there might doesn't seem to be newer Fedora packages readily available. Alternatively, could you start amarok with `amarok --debug`, insert a CD and copypaste the debug log output parts that follow the insertion of the CD?
Comment 2 Tuomas Nurmi 2024-05-06 15:59:54 UTC
3.0.0 packages seem to be there (soon?) for Fedora, can you try if 3.0.0 fixes the problem for you? https://packages.fedoraproject.org/pkgs/amarok/amarok/fedora-40-updates-testing.html
Comment 3 rashid_usm 2024-05-07 18:59:59 UTC
Thanks for your support. It looks very much as if the linked bug is exactly my problem. I'm sorry that I did not find that bug when I searched for bugs with a similar description before posting my own bug. But I hadn't noticed that when you use the simple search form on the home page it only shows unresolved bugs. The next time i find an issue I will do a more detailed search and also include resolved bugs before opening my own ticket.

If it still does matter: 

I indeed have audiocd-kio installed. 

The messages when inserting a CD with the "--debug" option are: 

kf.kio.core: couldn't create worker: "Unbekanntes Protokoll „audiocd“."
kf.kio.core: couldn't create worker: "Unbekanntes Protokoll „audiocd“."

"Unbekanntes Protokoll" means "unknown protocol". 

I do not yet see Amarok 3.0.0 in the Fedora updates list but I will install it as soon as it is available and will inform you if it fixes the issue.
Comment 4 Tuomas Nurmi 2024-05-07 19:34:59 UTC
Okay, thank you for the details. Although related, the symptoms sound slightly different in this one, I think.
I wonder if KIO usage is KF version dependent and using audiocd would require kf5-audiocd-kio installed, while only kf6 version is available in Fedora 40. I'm testing by trying to build a KF5 version of audiocd-kio in my Fedora 40 virtual machine right now.

Additional note:
I've noticed Fedora limits debug output quite a bit by default. To get better debugging output from `amarok --debug` on Fedora, one should edit /usr/share/qt5/qtlogging.ini to read something like
[Rules]
*.debug=true
qt.qpa.xcb.xcberror.warning=false
qt.*=false
kf.*=false
Comment 5 Tuomas Nurmi 2024-05-07 20:20:01 UTC
Based on old discussion at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=884409 , this is indeed probably the case, and a KF5 audiocd-kio would be needed. The package doesn't seem to be available for Fedora 40: https://koji.fedoraproject.org/koji/packageinfo?packageID=23585

I'm not sure if it wouldn't be co-installable with KF6 kioslave or if there's some other problem. (I tried building one manually just now, but didn't get it to work, although didn't try very hard).

So doesn't unfortunately look like anything that should/could be fixed on Amarok's side (except for Qt6/KF6 port, but that'll still take some time). Not sure if it would be possible with some packaging magic to have both KF5 and KF6 audiocd-kio available, or if it would only be possible to have one (and not have audiocd:/ available in KF6 Dolphin etc).
Comment 6 rashid_usm 2024-05-07 21:02:53 UTC
Thanks for the update. But you mentioned Dolphin, but it _is_ possible to open the CD in Dolphin. It shows up in the "Places" part and if I click it, it shows in the file browser as a list of subfolders, like "MP3", "WAV", and so on and I am able to copy files from these subfolders to different foldes. 

So, for the Amarok issue my next step could be opening a Fedora Bugzilla entry? 

And just for reference, here is the extended debug output from Amarok:

amarok: BEGIN: bool IpodCollectionFactory::identifySolidDevice(const QString&) const
amarok:   Device "/org/freedesktop/UDisks2/block_devices/sr0" doesn't have PortableMediaPlayer ipod interface or StorageAccess interface -> cannot be and iPod
amarok: END__: bool IpodCollectionFactory::identifySolidDevice(const QString&) const [Took: 0s]
amarok: BEGIN: void MediaDeviceCache::slotAddSolidDevice(const QString&)
amarok:   [MediaDeviceCache] Found new Solid device with udi =  "/org/freedesktop/UDisks2/block_devices/sr0"
amarok:   [MediaDeviceCache] Device name is =  "HL-DT-ST DVDRAM GH22NS50"  and was made by  ""
amarok:   [MediaDeviceCache] device is an Audio CD
amarok:   BEGIN: void MountPointManager::slotDeviceAdded(const QString&)
amarok:     [MountPointManager] looking for udi  "/org/freedesktop/UDisks2/block_devices/sr0"
amarok:     [MountPointManager] Did not find device from Solid for udi  "/org/freedesktop/UDisks2/block_devices/sr0"
amarok:   END__: void MountPointManager::slotDeviceAdded(const QString&) [Took: 0s]
amarok:   BEGIN: void MediaDeviceMonitor::deviceAdded(const QString&)
amarok:     BEGIN: void MediaDeviceMonitor::checkDevice(const QString&)
amarok:       OpticalDisc
amarok:       AudioCd
amarok:       [MediaDeviceMonitor] Device identified with udi:  "/org/freedesktop/UDisks2/block_devices/sr0"
amarok:       BEGIN: virtual void ConnectionAssistant::tellIdentified(const QString&)
amarok:         BEGIN: const QString MediaDeviceCache::device(const QString&) const
amarok:         END__: const QString MediaDeviceCache::device(const QString&) const [Took: 0.001s]
amarok:         BEGIN: Collections::AudioCdCollection::AudioCdCollection(MediaDeviceInfo*)
amarok:           [AudioCdCollection] Getting Audio CD info
amarok:           BEGIN: Meta::MediaDeviceHandler::MediaDeviceHandler(QObject*)
amarok:           END__: Meta::MediaDeviceHandler::MediaDeviceHandler(QObject*) [Took: 0s]
amarok:         END__: Collections::AudioCdCollection::AudioCdCollection(MediaDeviceInfo*) [Took: 0s]
amarok:         BEGIN: void Collections::MediaDeviceCollection::slotAttemptConnectionDone(bool)
amarok:           [MediaDeviceCollection] starting full scan
amarok:           BEGIN: virtual void Collections::AudioCdCollection::startFullScan()
amarok:             BEGIN: void Collections::AudioCdCollection::readCd()
amarok:             END__: void Collections::AudioCdCollection::readCd() [Took: 0.005s]
amarok:           END__: virtual void Collections::AudioCdCollection::startFullScan() [Took: 0.005s]
amarok:         END__: void Collections::MediaDeviceCollection::slotAttemptConnectionDone(bool) [Took: 0.005s]
amarok:       END__: virtual void ConnectionAssistant::tellIdentified(const QString&) [Took: 0.007s]
amarok:       [MediaDeviceMonitor] Device already identified with udi:  "/org/freedesktop/UDisks2/block_devices/sr0"
amarok:     END__: void MediaDeviceMonitor::checkDevice(const QString&) [Took: 0.007s]
amarok:   END__: void MediaDeviceMonitor::deviceAdded(const QString&) [Took: 0.007s]
amarok: END__: void MediaDeviceCache::slotAddSolidDevice(const QString&) [Took: 0.009s]
amarok: BEGIN: void Collections::AudioCdCollection::slotEntriesJobDone(KJob*)
amarok:   [WARNING] [AudioCdCollection] void Collections::AudioCdCollection::slotEntriesJobDone(KJob*) "Erstellung des Ein-/Ausgabemoduls nicht möglich. Unbekanntes Protokoll „audiocd“." "Unbekanntes Protokoll „audiocd“."
amarok:   [WARNING] [AudioCdCollection] void Collections::AudioCdCollection::slotEntriesJobDone(KJob*) haven't found .txt file under audiocd:/, but continuing
amarok:   BEGIN: void Collections::AudioCdCollection::noInfoAvailable()
amarok:     BEGIN: bool MainWindow::isWaitingForCd() const
amarok:       [MainWindow] waiting?:  false
amarok:     END__: bool MainWindow::isWaitingForCd() const [Took: 0s]
amarok:     BEGIN: void CollectionManager::slotNewCollection(Collections::Collection*)
amarok:       [CollectionManager] new Collection  "AudioCd"
amarok:     END__: void CollectionManager::slotNewCollection(Collections::Collection*) [Took: 0s]
amarok:   END__: void Collections::AudioCdCollection::noInfoAvailable() [Took: 0.004s]
amarok: END__: void Collections::AudioCdCollection::slotEntriesJobDone(KJob*) [Took: 0.004s]
Comment 7 Tuomas Nurmi 2024-05-08 04:55:35 UTC
"but it _is_ possible to open the CD in Dolphin.": Yes, indeed, as Dolphin in Fedora 40 is KF6/Qt6 based version, so it works with KF6 audiocd, while Amarok is KF5/Qt5 and would work only with KF5 audiocd. My communication was probably a bit messy, apologies for that.

I'm not quite sure what to make of the fact that there are FC40 packages for KF5 audiocd listed at https://koji.fedoraproject.org/koji/packageinfo?packageID=23585 but they have been since deleted. It could be that they were dropped because they didn't seem to be needed any more, or because they caused some issues / cannot be installed if a KF6 audiocd is installed. This is probably a question where Fedora people have better knowledge than I do. (But whatever may be the case, will be automatically fixed when Amarok gets to Qt6/KF6)
Comment 8 Tuomas Nurmi 2024-05-10 20:25:45 UTC
Okay, just managed to play audio cd with Amarok on Plasma6 system (openSUSE). I needed to install an additional kio_audiocd5, but it was co-installable with kf6 kio-audiocd without any obvious problems, so this issue fortunately something that is solvable with some packaging finetuning.
Comment 9 rashid_usm 2024-05-10 21:25:37 UTC
Thanks for the info and the effort! I had already created a Fedora ticket at

https://bugzilla.redhat.com/show_bug.cgi?id=2279869

And I have noticed that https://src.fedoraproject.org/rpms/kf5-audiocd-kio and https://src.fedoraproject.org/rpms/audiocd-kio both coexisted in Fedora 38 and 39. So, it's probably just the task of un-obsoleting kf5-audiocd-kio on Fedora 40.
Comment 10 Tuomas Nurmi 2024-12-16 14:22:31 UTC
*** Bug 497546 has been marked as a duplicate of this bug. ***