diff options
author | Matthew Waters <matthew@centricular.com> | 2021-01-15 20:53:27 +1100 |
---|---|---|
committer | GStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org> | 2021-08-23 04:17:36 +0000 |
commit | 0d27e6f86ef9719b816a808709d9accddf11cc9f (patch) | |
tree | a7c128b713b87e8db3989ca97ba519a3d2f0076a | |
parent | d806486503c50b40b115b5340e633d7b228bf93f (diff) | |
download | gstreamer-plugins-good-0d27e6f86ef9719b816a808709d9accddf11cc9f.tar.gz |
isomp4: actually make streamable fallback work
We weren't setting the fragment_mode field anymore now that the
implementation doesn't change based on the value of the streamable
property. This lead to invalid files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/1060>
-rw-r--r-- | gst/isomp4/gstqtmux.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c index 01e510199..1130071ac 100644 --- a/gst/isomp4/gstqtmux.c +++ b/gst/isomp4/gstqtmux.c @@ -3077,11 +3077,14 @@ gst_qt_mux_start_file (GstQTMux * qtmux) if (qtmux->fragment_mode == GST_QT_MUX_FRAGMENT_STREAMABLE) break; if (!qtmux->downstream_seekable) { - GST_WARNING_OBJECT (qtmux, "downstream is not seekable, but " - "streamable=false. Will ignore that and create streamable output " - "instead"); - qtmux->streamable = TRUE; - g_object_notify (G_OBJECT (qtmux), "streamable"); + if (qtmux->fragment_mode == GST_QT_MUX_FRAGMENT_DASH_OR_MSS) { + GST_WARNING_OBJECT (qtmux, "downstream is not seekable, but " + "streamable=false. Will ignore that and create streamable output " + "instead"); + qtmux->streamable = TRUE; + g_object_notify (G_OBJECT (qtmux), "streamable"); + qtmux->fragment_mode = GST_QT_MUX_FRAGMENT_STREAMABLE; + } } break; case GST_QT_MUX_MODE_ROBUST_RECORDING_PREFILL: |