[0.11] gstreamer: baseparse: clear adapter in reset so baseparse is reusable

Tim Müller tpm at kemper.freedesktop.org
Thu Jan 12 16:23:49 PST 2012


Module: gstreamer
Branch: 0.11
Commit: df6de8fe0c4f7179281def3fed282573b5a3e546
URL:    http://cgit.freedesktop.org/gstreamer/gstreamer/commit/?id=df6de8fe0c4f7179281def3fed282573b5a3e546

Author: Antoine Tremblay <hexa00 at gmail.com>
Date:   Thu Jan 12 19:53:11 2012 +0000

baseparse: clear adapter in reset so baseparse is reusable

GstBaseParse was not clearing its adapter on reset causing
problems when a pipeline went for example from PLAYING to NULL
state and then back to PLAYING again. The data from the last
stream would be used in the parser.

https://bugzilla.gnome.org/show_bug.cgi?id=667444

---

 libs/gst/base/gstbaseparse.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/libs/gst/base/gstbaseparse.c b/libs/gst/base/gstbaseparse.c
index 64ba62f..93f9173 100644
--- a/libs/gst/base/gstbaseparse.c
+++ b/libs/gst/base/gstbaseparse.c
@@ -776,6 +776,9 @@ gst_base_parse_reset (GstBaseParse * parse)
   g_slist_free (parse->priv->pending_seeks);
   parse->priv->pending_seeks = NULL;
 
+  if (parse->priv->adapter)
+    gst_adapter_clear (parse->priv->adapter);
+
   /* we know it is not alloc'ed, but maybe other stuff to free, some day ... */
   parse->priv->frame._private_flags |=
       GST_BASE_PARSE_FRAME_PRIVATE_FLAG_NOALLOC;



More information about the gstreamer-commits mailing list