From: Tim-Philipp Müller Date: Thu, 18 Aug 2011 19:44:01 +0000 (+0100) Subject: baseparse: fix crash on seek from streaming thread on newsegment event X-Git-Tag: RELEASE-0.10.36~212 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7043bf9d55664282a4535093282527779dab4368;p=platform%2Fupstream%2Fgstreamer.git baseparse: fix crash on seek from streaming thread on newsegment event Event if it's not allowed, we can easily prevent it, so let's do that. https://bugzilla.gnome.org/show_bug.cgi?id=656771 --- diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c index 59865c2..65160c3 100644 --- a/libs/gst/base/gstbaseparse.c +++ b/libs/gst/base/gstbaseparse.c @@ -1851,10 +1851,14 @@ gst_base_parse_push_frame (GstBaseParse * parse, GstBaseParseFrame * frame) parse->priv->close_segment = NULL; } if (G_UNLIKELY (parse->priv->pending_segment)) { + GstEvent *pending_segment; + + pending_segment = parse->priv->pending_segment; + parse->priv->pending_segment = NULL; + GST_DEBUG_OBJECT (parse, "%s push pending segment", parse->priv->pad_mode == GST_ACTIVATE_PULL ? "loop" : "chain"); - gst_pad_push_event (parse->srcpad, parse->priv->pending_segment); - parse->priv->pending_segment = NULL; + gst_pad_push_event (parse->srcpad, pending_segment); /* have caps; check identity */ gst_base_parse_check_media (parse);