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>
This commit is contained in:
Matthew Waters 2021-01-15 20:53:27 +11:00 committed by GStreamer Marge Bot
parent d806486503
commit 0d27e6f86e

View file

@ -3077,11 +3077,14 @@ gst_qt_mux_start_file (GstQTMux * qtmux)
if (qtmux->fragment_mode == GST_QT_MUX_FRAGMENT_STREAMABLE) if (qtmux->fragment_mode == GST_QT_MUX_FRAGMENT_STREAMABLE)
break; break;
if (!qtmux->downstream_seekable) { if (!qtmux->downstream_seekable) {
GST_WARNING_OBJECT (qtmux, "downstream is not seekable, but " if (qtmux->fragment_mode == GST_QT_MUX_FRAGMENT_DASH_OR_MSS) {
"streamable=false. Will ignore that and create streamable output " GST_WARNING_OBJECT (qtmux, "downstream is not seekable, but "
"instead"); "streamable=false. Will ignore that and create streamable output "
qtmux->streamable = TRUE; "instead");
g_object_notify (G_OBJECT (qtmux), "streamable"); qtmux->streamable = TRUE;
g_object_notify (G_OBJECT (qtmux), "streamable");
qtmux->fragment_mode = GST_QT_MUX_FRAGMENT_STREAMABLE;
}
} }
break; break;
case GST_QT_MUX_MODE_ROBUST_RECORDING_PREFILL: case GST_QT_MUX_MODE_ROBUST_RECORDING_PREFILL: