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