diff options
author | Antoine Tremblay <hexa00@gmail.com> | 2012-01-12 19:53:11 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim.muller@collabora.co.uk> | 2012-01-18 01:07:24 +0000 |
commit | f07376a6d81f99ac61b7f79b3660a4475b9fbb9a (patch) | |
tree | aba95a693d27805cfeec47f5199adb5fa822caad | |
parent | 4df478b234cf3f9472afe02092c9c4e70dd409a1 (diff) |
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
-rw-r--r-- | 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 9da9b49a0..577645470 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; |