gst-plugins-good: qtmux: Don' t error out if downstream is not seekable for non-fragmented variants
Andoni Morales
ylatuya at gmail.com
Wed Sep 25 15:48:53 PDT 2013
2013/9/25 Sebastian Dröge <slomo at kemper.freedesktop.org>
> Module: gst-plugins-good
> Branch: master
> Commit: 4a91a93d4e651210e7d56dc188184d2ea08d2645
> URL:
> http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=4a91a93d4e651210e7d56dc188184d2ea08d2645
>
> Author: Sebastian Dröge <slomo at circular-chaos.org>
> Date: Wed Sep 25 12:55:21 2013 +0200
>
> qtmux: Don't error out if downstream is not seekable for non-fragmented
> variants
>
> Doing so would be a regression over 1.0 and breaks the unit test.
> However the result will be most likely unusable, so let's post
> a warning message on the bus.
>
Do we really want to keep broken behaviours in a backwards compatible way :)
If we don't want to error out in this scenario, the only option that would
still produce a valid output is faststart=TRUE, which does not require
downstream to be seekable.
>
> ---
>
> gst/isomp4/gstqtmux.c | 15 +++++----------
> 1 files changed, 5 insertions(+), 10 deletions(-)
>
> diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c
> index 58533a4..3231963 100644
> --- a/gst/isomp4/gstqtmux.c
> +++ b/gst/isomp4/gstqtmux.c
> @@ -1653,7 +1653,11 @@ gst_qt_mux_start_file (GstQTMux * qtmux)
> if (!seekable) {
> if (qtmux_klass->format != GST_QT_MUX_FORMAT_ISML) {
> if (!qtmux->fast_start) {
> - goto not_seekable_error;
> + GST_ELEMENT_WARNING (qtmux, STREAM, FAILED,
> + ("Downstream is not seekable and headers can't be
> rewritten"),
> + (NULL));
> + /* FIXME: Is there something better we can do? */
> + qtmux->streamable = TRUE;
> }
> } else {
> GST_WARNING_OBJECT (qtmux, "downstream is not seekable, but "
> @@ -1774,15 +1778,6 @@ gst_qt_mux_start_file (GstQTMux * qtmux)
> exit:
> return ret;
>
> -not_seekable_error:
> - {
> - GST_ELEMENT_ERROR (qtmux, STREAM, FAILED,
> - ("Downstream is not seekable and headers can't be rewritten"),
> - GST_ERROR_SYSTEM);
> - GST_OBJECT_UNLOCK (qtmux);
> - return GST_FLOW_ERROR;
> - }
> -
> /* ERRORS */
> open_failed:
> {
>
>
> _______________________________________________
> gstreamer-commits mailing list
> gstreamer-commits at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-commits
>
>
--
Andoni Morales Alastruey
LongoMatch:The Digital Coach
http://www.longomatch.ylatuya.es
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20130926/bb3346ae/attachment-0001.html>
More information about the gstreamer-devel
mailing list