[0.11] gst-plugins-good: flvmux, matroskamux, qtmux: if in doubt about downstream seekability default to streaming=true
Tim Müller
tpm at kemper.freedesktop.org
Sun Feb 26 17:12:46 PST 2012
Module: gst-plugins-good
Branch: 0.11
Commit: cc0511f5d80ef418c26d89ff3121f3375cc5ef69
URL: http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=cc0511f5d80ef418c26d89ff3121f3375cc5ef69
Author: Tim-Philipp Müller <tim.muller at collabora.co.uk>
Date: Mon Feb 27 01:09:11 2012 +0000
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.
---
gst/flv/gstflvmux.c | 16 ++++++++--------
gst/isomp4/gstqtmux.c | 16 ++++++++--------
gst/matroska/matroska-mux.c | 16 ++++++++--------
3 files changed, 24 insertions(+), 24 deletions(-)
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");
}
}
More information about the gstreamer-commits
mailing list