baseparse: clear adapter in reset so baseparse is reusable
authorAntoine Tremblay <hexa00@gmail.com>
Thu, 12 Jan 2012 19:53:11 +0000 (19:53 +0000)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Thu, 12 Jan 2012 19:53:11 +0000 (19:53 +0000)
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

index 64ba62f..93f9173 100644 (file)
@@ -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;