Bug 475880

Summary: Amarok doesn't play anymore files with a "?" in filename Like ZZ Top - Tres hombres - 10 - Have You Heard?.mp3 or Bantu - What Is Your Breaking Point? - 01 - Wayo And Division.mp3
Product: [Frameworks and Libraries] Phonon Reporter: juergen-wenzel
Component: generalAssignee: Unassigned bugs mailing-list <unassigned-bugs>
Status: RESOLVED UNMAINTAINED    
Severity: normal CC: mail+kde, myriam, romain.perier, sitter, tuomas
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description juergen-wenzel 2023-10-20 15:36:24 UTC
SUMMARY
Amarok doesn't play anymore files with a "?" in filename Like
ZZ Top - Tres hombres - 10 - Have You Heard?.mp3
or
Bantu - What Is Your Breaking Point? - 01 - Wayo And Division.mp3  


             
NOTE: If you are reporting a crash, please try to attach a backtrace with debug symbols.
See https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports
***


STEPS TO REPRODUCE
1. 
2. 
3. 

OBSERVED RESULT


EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 juergen-wenzel 2023-11-18 13:43:16 UTC
Operating System: openSUSE Tumbleweed 20231116
KDE Plasma Version: 5.27.9
KDE Frameworks Version: 5.112.0
Qt Version: 5.15.11
Kernel Version: 6.6.1-1-default (64-bit)
Graphics Platform: X11
Processors: 8 × Intel® Core™ i7-4720HQ CPU @ 2.60GHz
Memory: 7.6 GiB of RAM
Graphics Processor: NVIDIA GeForce GTX 950M/PCIe/SSE2
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: N751JX
System Version: 1.0
Comment 2 Tuomas Nurmi 2024-03-03 09:11:39 UTC
I also started encountering this some months ago (opensuse tumbleweed); I think it might have been after some gstreamer (or some other library) update.
I worked around it by removing all the "?"'s from the filenames, but might try actually fixing this sometime.
Comment 3 Tuomas Nurmi 2024-03-03 11:30:01 UTC
*** Bug 479220 has been marked as a duplicate of this bug. ***
Comment 4 Tuomas Nurmi 2024-03-03 21:27:36 UTC
Set up debug output as directed on https://community.kde.org/Guidelines_and_HOWTOs/Debugging/Phonon
Here the relevant part of the Amarok + PHONON-GST log:

amarok:           [EngineController] URL:  QUrl("file:///home/amarok/ZZ Top/Tres Hombres/10 - Have You Heard%3F.ogg") "file:///home/amarok/ZZ Top/Tres Hombres/10 - Have You Heard%3F.ogg"
amarok:           [EngineController] Offset:  0
PHONON-GST           BEGIN: virtual void Phonon::Gstreamer::MediaObject::setSource(const Phonon::MediaSource&)
PHONON-GST             Setting new source
PHONON-GST             New source: QUrl("file:///home/amarok/ZZ Top/Tres Hombres/10 - Have You Heard%3F.ogg")
PHONON-GST             uri "file:///home/amarok/ZZ%20Top/Tres%20Hombres/10%20-%20Have%20You%20Heard?.ogg"
PHONON-GST           END__: virtual void Phonon::Gstreamer::MediaObject::setSource(const Phonon::MediaSource&) [Took: 0s]
PHONON-GST           Fading to 1
PHONON-GST           BEGIN: virtual void Phonon::Gstreamer::MediaObject::play()
PHONON-GST             BEGIN: void Phonon::Gstreamer::MediaObject::requestState(Phonon::State)
PHONON-GST                Phonon::PlayingState 
PHONON-GST               BEGIN: GstStateChangeReturn Phonon::Gstreamer::Pipeline::setState(GstState)
PHONON-GST                 Transitioning to state "playing"
0:00:08.450788030 28209      0x21c9c40 WARN                 filesrc gstfilesrc.c:553:gst_file_src_start:<source> error: No such file "/home/amarok/ZZ Top/Tres Hombres/10 - Have You Heard"

Clearly everything is broken by the time the filepath arrives to gstfilesrc.c. The fact that the "?" is the only escaped character in the early QUrl outputs, and is not escaped any more on the uri line is somewhat suspicious, but I can't yet tell if the path gets broken inside phonon-gst, or already in EngineController / earlier. I might inspect this further later.
Comment 5 Tuomas Nurmi 2024-04-06 23:36:34 UTC
Seems to be phonon/phonon-gstreamer bug, apparently caused by some gstreamer update in late 2023. Also affects e.g. dragonplayer when using phonon-gstreamer backend.

There was also a phonon release during that time, but I read through the changes 4.11.1 -> 4.12.0 and there didn't seem to be anything that would cause this.

Seems to be fixable with a small change done in https://invent.kde.org/nurmi/phonon/-/commit/fc933892aa81fc8bd2afb0f41a10f5aeb14cd648 (although any potential side effects from the change have not been inspected). However, as phonon-gstreamer is in unmaintained/archived state, I don't believe it is likely that this would get fixed.
Comment 6 juergen-wenzel 2024-04-07 17:27:22 UTC
Thank you,

now it's OK


Am 07.04.24 um 01:36 schrieb Tuomas Nurmi:
> https://bugs.kde.org/show_bug.cgi?id=475880
>
> --- Comment #5 from Tuomas Nurmi <tuomas@norsumanageri.org> ---
> Seems to be phonon/phonon-gstreamer bug, apparently caused by some gstreamer
> update in late 2023. Also affects e.g. dragonplayer when using phonon-gstreamer
> backend.
>
> There was also a phonon release during that time, but I read through the
> changes 4.11.1 -> 4.12.0 and there didn't seem to be anything that would cause
> this.
>
> Seems to be fixable with a small change done in
> https://invent.kde.org/nurmi/phonon/-/commit/fc933892aa81fc8bd2afb0f41a10f5aeb14cd648
> (although any potential side effects from the change have not been inspected).
> However, as phonon-gstreamer is in unmaintained/archived state, I don't believe
> it is likely that this would get fixed.
>
--
Jürgen Wenzel
Illinger Str. 11
70435 Stuttgart
Telefon +497118701768
Mobil +4915752440971
Comment 7 Tuomas Nurmi 2024-04-07 19:35:31 UTC
Okay, that's good to hear.

I'm not totally sure how to categorize this bugreport. It appears to be an underlying bug in phonon-gstreamer backend, caused by a change in gstreamer, fixable with a change in phonon common libraries. As phonon-gstreamer is not maintained any more, I can't set this bug's product to phonon-gstreamer in bugzilla UI. I guess it's sensible to set the product to Phonon and status as RESOLVED -> UNMAINTAINED, just for the sake of documentation, which I just did.