.wma files no longer work on MacOS since v3.0.4 / ffmpeg7
First off, thank you so much for creating and maintaining musikcube!
Since november/december 2024 I am unable to play .wma files on MacOS. This coincides both with my upgrade to v3.0.4 and ffmpeg7, so it's hard to tell who's the culprit here. I can confirm that these files worked in musikcube before that time.
The logs show the following:
17:31:59 [info] [LocalFileStream] opening file: /Users/hkapp/Music/America/The Definitive Pop Collection Disc 1/01 A Horse with No Name.wma
17:31:59 [info] [GaplessTransport] stop
17:31:59 [info] [ffmpegdecoder] parsing data stream...
17:31:59 [info] [ffmpegdecoder] found audio stream!
17:31:59 [info] [ffmpegdecoder] resolved codec: Windows Media Audio 2
17:31:59 [info] [Streams] found a decoder for /Users/hkapp/Music/America/The Definitive Pop Collection Disc 1/01 A Horse with No Name.wma
17:31:59 [warning] [ffmpegdecoder] swr_convert_frame() failed: Input changed
17:31:59 [warning] [ffmpegdecoder] swr_convert_frame() failed: Input changed
...
17:32:00 [warning] [ffmpegdecoder] swr_convert_frame() failed: Input changed
17:32:00 [info] [ffmpegdecoder] finished decoding.
17:32:00 [info] [GaplessTransport] stop
17:32:04 [info] [PortAudioOut] Pa_Initialize() return code: 0
17:32:04 [warning] [PortAudioOut] Pa_AbortStream() return code: -9988
17:32:04 [warning] [PortAudioOut] Pa_CloseStream() return code: -9988
17:32:04 [info] [PortAudioOut] Pa_Terminate() return code: 0
17:32:04 [info] [PortAudioOut] Pa_Initialize() return code: 0
17:32:04 [warning] [PortAudioOut] Pa_AbortStream() return code: -9988
17:32:04 [warning] [PortAudioOut] Pa_CloseStream() return code: -9988
17:32:04 [info] [PortAudioOut] Pa_Terminate() return code: 0
This is extremely similar to a previous bug:
- first mention: https://github.com/clangen/musikcube/discussions/560#discussioncomment-4341711
- bug fix: https://github.com/clangen/musikcube/commit/696ffc8445beb9bbcd492e91373a404530c82124
I wonder if ffmpeg7 re-introduced that bug somehow?
Relevant config:
- musikcube version 3.0.4
- ffmpeg version 7.1_4
- MacOS Sequoia 15.1.1
I see the same issue,
musikcube 3.0.4 ffmpeg version 4.1.11-0+deb10u1+rpt1 Raspbian GNU/Linux 10 (buster)
So not ffmpeg 7, but maybe the updates to support it reintroduced the issue?
17:07:11 [i] [LocalLibrary] query 'TrackMetadataQuery' enqueued
17:07:11 [i] [LocalLibrary] query 'TrackMetadataQuery' running
17:07:11 [i] [LocalLibrary] query 'TrackMetadataQuery' finished with status=4
17:07:11 [i] [GaplessTransport] starting track at /mediastore/mediashare/Mus
17:07:11 [i] [Player] new instance created
17:07:11 [i] [GaplessTransport] stop
17:07:11 [i] [Stream] opening /mediastore/mediashare/Music/Air/Moon Safari/0
17:07:11 [i] [LocalFileStream] opening file: /mediastore/mediashare/Music/Ai
17:07:11 [i] [ffmpegdecoder] parsing data stream...
17:07:11 [i] [ffmpegdecoder] found audio stream!
17:07:11 [i] [ffmpegdecoder] resolved codec: Windows Media Audio 2
17:07:11 [i] [Streams] found a decoder for /mediastore/mediashare/Music/Air/..
17:07:11 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
17:07:11 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
17:07:11 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
17:07:11 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
17:07:11 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
17:07:11 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
17:07:11 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
17:07:11 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
musikcube 3.0.4 ffmpeg n7.1.1 CachyOS (Arch)
I'm getting the same issue, except it's a WAV file causing the issue. I tested it on VLC, and it plays fine, so it's not the file or ffmpeg.
09:55:50 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
09:55:50 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
09:55:50 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
09:55:50 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
09:55:50 [w] [ffmpegdecoder] swr_convert_frame() failed: Input changed
Just to check, musikcube seems to be connecting to the pipewire service, and it can play a test mp3 file just fine, but the WAV file won't play. I didn't see any change to the pipewire connection when I tried to play it, so if the input is truly changing, I wasn't able to catch it.
I also have the swr_convert_frame errors and can not play wav files on arch linux with musikcube 3.0.5 and ffmpeg 7.1.1. Playing the same wav with ffmpeg directly works fine