-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.7.3
-
None
This is not 100% reproducible bug. I suspect that internal QMediaPlayer's buffer is to small for flac/ogg streams. Playing them from files working fine.
Some observations:
ffplay is able to play all the streams listed below.
- http://r5.zetcast.net/flac
- https://stream10.xdevel.com/audio15s976748-2280/stream/icecast.audio
- http://stream-uk1.radioparadise.com/flac
- http://stream.radioparadise.com/global-flacm
Example command I used:
ffplay http://stream.radioparadise.com/global-flacm
Minimum reproducible example
import QtQuick import QtQuick.Controls import QtMultimedia ApplicationWindow { id: root width: 640 height: 480 visible: true title: qsTr("Qml App") MediaPlayer { id: mediaPlayer function mediaStatusString(): string { if (mediaStatus == MediaPlayer.NoMedia) { return "NoMedia"; } if (mediaStatus == MediaPlayer.LoadingMedia) { return "LoadingMedia"; } if (mediaStatus == MediaPlayer.LoadedMedia) { return "LoadedMedia"; } if (mediaStatus == MediaPlayer.BufferingMedia) { return "BufferingMedia"; } if (mediaStatus == MediaPlayer.StalledMedia) { return "StalledMedia"; } if (mediaStatus == MediaPlayer.BufferedMedia) { return "BufferedMedia"; } if (mediaStatus == MediaPlayer.EndOfMedia) { return "EndOfMedia"; } if (mediaStatus == MediaPlayer.InvalidMedia) { return "InvalidMedia"; } return "Unknown Status"; } // http://r5.zetcast.net/flac // https://stream10.xdevel.com/audio15s976748-2280/stream/icecast.audio // http://stream-uk1.radioparadise.com/flac // http://stream.radioparadise.com/global-flacm source: "http://stream.radioparadise.com/global-flacm" audioOutput: AudioOutput {} onMediaStatusChanged: { console.log("Status", mediaStatusString()); } onErrorStringChanged: { console.log("Error:", errorString); } } Button { anchors.fill: parent text: "Play" onClicked: { mediaPlayer.play(); } } }
Output with QT_FFMPEG_DEBUG:
"FFmpeg log: Opening 'http://stream.radioparadise.com/global-flacm' for reading" "FFmpeg log: Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy,data'" "FFmpeg log: Original list of addresses:" "FFmpeg log: Address 93.190.141.46 port 80" "FFmpeg log: Interleaved list of addresses:" "FFmpeg log: Address 93.190.141.46 port 80" "FFmpeg log: Starting connection attempt to 93.190.141.46 port 80" "FFmpeg log: Successfully connected to 93.190.141.46 port 80" "FFmpeg log: request: GET /global-flacm HTTP/1.1\r\nUser-Agent: Lavf/61.1.100\r\nAccept: */*\r\nRange: bytes=0-\r\nConnection: close\r\nHost: stream.radioparadise.com\r\nIcy-MetaData: 1\r\n\r\n" "FFmpeg log: Format ogg probed with size=2048 and score=100" "FFmpeg log: Before avformat_find_stream_info() pos: 36221 bytes read:36891 seeks:0 nb_streams:1" "FFmpeg log: All info found" "FFmpeg log: After avformat_find_stream_info() pos: 36221 bytes read:36891 seeks:0 frames:1" qt.multimedia.ffmpeg.mediadataholder: AVStream duration -9223372036854775808 is invalid. Taking it from the metadata qml: Status: LoadedMedia "FFmpeg log: detected 12 logical cores" qml: Status: BufferingMedia "FFmpeg log: Original list of addresses:" "FFmpeg log: Address 93.190.141.46 port 80" "FFmpeg log: Interleaved list of addresses:" "FFmpeg log: Address 93.190.141.46 port 80" "FFmpeg log: Starting connection attempt to 93.190.141.46 port 80" "FFmpeg log: Successfully connected to 93.190.141.46 port 80" "FFmpeg log: request: GET /global-flacm HTTP/1.1\r\nUser-Agent: Lavf/61.1.100\r\nAccept: */*\r\nRange: bytes=0-\r\nConnection: close\r\nHost: stream.radioparadise.com\r\nIcy-MetaData: 1\r\n\r\n" "FFmpeg log: Original list of addresses:" "FFmpeg log: Address 93.190.141.46 port 80" "FFmpeg log: Interleaved list of addresses:" "FFmpeg log: Address 93.190.141.46 port 80" "FFmpeg log: Starting connection attempt to 93.190.141.46 port 80" "FFmpeg log: Successfully connected to 93.190.141.46 port 80" "FFmpeg log: request: GET /global-flacm HTTP/1.1\r\nUser-Agent: Lavf/61.1.100\r\nAccept: */*\r\nRange: bytes=0-\r\nConnection: close\r\nHost: stream.radioparadise.com\r\nIcy-MetaData: 1\r\n\r\n" "FFmpeg log: Using s16p internally between filters" "FFmpeg log: Metadata update for StreamTitle: Bonobo - Black Sands" qml: Status: BufferedMedia