Progressive downloading interferes with media playback on Windows and Android
Opened this issue · 3 comments
jdm commented
Loading https://joshmatthews.net/videoogg.html and https://joshmatthews.net/videomp4.html on Windows shows output like:
0:00:53.367597000 1764 0000021D0FEA7D00 FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:<appsrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:53.439264000 1764 0000021D0FEA7180 FIXME bin gstbin.c:4337:gst_bin_query: implement duration caching in GstBin again
0:00:53.439277000 1764 0000021D19305100 FIXME default gstutils.c:3981:gst_pad_create_stream_id_internal:<typefind:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:53.541286000 1764 0000021D193054C0 WARN qtdemux qtdemux.c:764:gst_qtdemux_pull_atom:<qtdemux0> error: This file is invalid and cannot be played.
0:00:53.551335000 1764 0000021D193054C0 WARN qtdemux qtdemux.c:764:gst_qtdemux_pull_atom:<qtdemux0> error: atom has bogus size 2141068913
0:00:53.568135000 1764 0000021D193054C0 WARN qtdemux qtdemux.c:6607:gst_qtdemux_loop:<qtdemux0> error: Internal data stream error.
0:00:53.568232000 1764 0000021D0FEA7180 ERROR gst-player gstplayer.c:1188:error_cb:<player0> ERROR: from element /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: This file is invalid and cannot be played.
0:00:53.600591000 1764 0000021D193054C0 WARN qtdemux qtdemux.c:6607:gst_qtdemux_loop:<qtdemux0> error: streaming stopped, reason error (-5)
0:00:53.639861000 1764 0000021D0FEA7180 ERROR gst-player gstplayer.c:1190:error_cb:<player0> Additional debug info:
../gst/isomp4/qtdemux.c(764): gst_qtdemux_pull_atom (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
atom has bogus size 2141068913
0:00:53.670978000 1764 0000021D193054C0 WARN qtdemux qtdemux.c:718:gst_qtdemux_post_no_playable_stream_error:<qtdemux0> error: This file contains no playable streams.
0:00:53.717912000 1764 0000021D0FEA7180 ERROR gst-player gstplayer.c:1065:emit_error:<player0> Error: Error from element /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: Could not demultiplex stream.
This file is invalid and cannot be played.
../gst/isomp4/qtdemux.c(764): gst_qtdemux_pull_atom (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:
atom has bogus size 2141068913 (gst-player-error-quark, 0)
0:00:53.747530000 1764 0000021D193054C0 WARN qtdemux qtdemux.c:718:gst_qtdemux_post_no_playable_stream_error:<qtdemux0> error: no known streams found
0:00:53.839723000 1764 [2019-07-04T12:37:03Z ERROR script::dom::htmlmediaelement] Player error: "Error from element /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: Could not demultiplex stream.\nThis file is invalid and cannot be played.\n../gst/isomp4/qtdemux.c(764): gst_qtdemux_pull_atom (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:\natom has bogus size 2141068913"
These videos play correctly when the progressive download is disabled. This behaviour is not observed on macOS.
jdm commented
When I comment out this check and load this url in the Windows UWP app, I still see:
0:00:53.839723000 1764 [2019-07-04T12:37:03Z ERROR script::dom::htmlmediaelement] Player error: "Error from element /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0: Could not demultiplex stream.\nThis file is invalid and cannot be played.\n../gst/isomp4/qtdemux.c(764): gst_qtdemux_pull_atom (): /GstPlayBin:playbin/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstQTDemux:qtdemux0:\natom has bogus size 2141068913"
This file plays fine without that change.
ferjm commented
I observed the same behavior on Android servo/servo#24413