From: Tim-Philipp Müller Date: Mon, 27 Feb 2012 01:09:11 +0000 (+0000) Subject: flvmux, matroskamux, qtmux: if in doubt about downstream seekability default to strea... X-Git-Tag: 1.19.3~509^2~7260^2~25 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=cc0511f5d80ef418c26d89ff3121f3375cc5ef69;p=platform%2Fupstream%2Fgstreamer.git flvmux, matroskamux, qtmux: if in doubt about downstream seekability default to streaming=true If downstream didn't answer our SEEKING query and told us it's seekable, default to streaming=true. We couldn't do this in 0.10 for backwards compatibility reasons, but we can in 0.11. Play it safe. --- diff --git a/gst/flv/gstflvmux.c b/gst/flv/gstflvmux.c index 554cae9..8119e9d 100644 --- a/gst/flv/gstflvmux.c +++ b/gst/flv/gstflvmux.c @@ -1153,17 +1153,17 @@ gst_flv_mux_write_header (GstFlvMux * mux) if (gst_pad_peer_query (mux->srcpad, query)) { gst_query_parse_seeking (query, NULL, &seekable, NULL, NULL); GST_INFO_OBJECT (mux, "downstream is %sseekable", seekable ? "" : "not "); - if (!seekable) { - mux->streamable = TRUE; - g_object_notify (G_OBJECT (mux), "streamable"); - GST_WARNING_OBJECT (mux, "downstream is not seekable, but " - "streamable=false. Will ignore that and create streamable output " - "instead"); - } } else { /* have to assume seeking is supported if query not handled downstream */ - /* FIXME 0.11: change to query not handled => seeking not supported */ GST_WARNING_OBJECT (mux, "downstream did not handle seeking query"); + seekable = FALSE; + } + if (!seekable) { + mux->streamable = TRUE; + g_object_notify (G_OBJECT (mux), "streamable"); + GST_WARNING_OBJECT (mux, "downstream is not seekable, but " + "streamable=false. Will ignore that and create streamable output " + "instead"); } } diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c index e51f48c..9e56763 100644 --- a/gst/isomp4/gstqtmux.c +++ b/gst/isomp4/gstqtmux.c @@ -1639,17 +1639,17 @@ gst_qt_mux_start_file (GstQTMux * qtmux) gst_query_parse_seeking (query, NULL, &seekable, NULL, NULL); GST_INFO_OBJECT (qtmux, "downstream is %sseekable", seekable ? "" : "not "); - if (!seekable) { - qtmux->streamable = TRUE; - g_object_notify (G_OBJECT (qtmux), "streamable"); - GST_WARNING_OBJECT (qtmux, "downstream is not seekable, but " - "streamable=false. Will ignore that and create streamable output " - "instead"); - } } else { /* have to assume seeking is supported if query not handled downstream */ - /* FIXME 0.11: change to query not handled => seeking not supported */ GST_WARNING_OBJECT (qtmux, "downstream did not handle seeking query"); + seekable = FALSE; + } + if (!seekable) { + qtmux->streamable = TRUE; + g_object_notify (G_OBJECT (qtmux), "streamable"); + GST_WARNING_OBJECT (qtmux, "downstream is not seekable, but " + "streamable=false. Will ignore that and create streamable output " + "instead"); } } diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c index e7c42f3..4b5c8f6 100644 --- a/gst/matroska/matroska-mux.c +++ b/gst/matroska/matroska-mux.c @@ -2349,17 +2349,17 @@ gst_matroska_mux_start (GstMatroskaMux * mux) if (gst_pad_peer_query (mux->srcpad, query)) { gst_query_parse_seeking (query, NULL, &seekable, NULL, NULL); GST_INFO_OBJECT (mux, "downstream is %sseekable", seekable ? "" : "not "); - if (!seekable) { - mux->streamable = TRUE; - g_object_notify (G_OBJECT (mux), "streamable"); - GST_WARNING_OBJECT (mux, "downstream is not seekable, but " - "streamable=false. Will ignore that and create streamable output " - "instead"); - } } else { /* have to assume seeking is supported if query not handled downstream */ - /* FIXME 0.11: change to query not handled => seeking not supported */ GST_WARNING_OBJECT (mux, "downstream did not handle seeking query"); + seekable = FALSE; + } + if (!seekable) { + mux->streamable = TRUE; + g_object_notify (G_OBJECT (mux), "streamable"); + GST_WARNING_OBJECT (mux, "downstream is not seekable, but " + "streamable=false. Will ignore that and create streamable output " + "instead"); } }