diff options
author | Thibault Saunier <tsaunier@gnome.org> | 2014-07-10 13:18:21 +0200 |
---|---|---|
committer | Thibault Saunier <tsaunier@gnome.org> | 2014-07-16 17:52:35 +0200 |
commit | 619237c0d0dce7425cc3e5b9e34ee22219dcdd02 (patch) | |
tree | 8022f42bf7afd0997bad52ed45c18e932d87512f | |
parent | d9385687fb95ec0f96208f3f20f6d268d5b30e2c (diff) | |
download | gstreamer-plugins-bad-619237c0d0dce7425cc3e5b9e34ee22219dcdd02.tar.gz |
aggregator: Flush sinkpads when stopping
All values are meaningless in that case, so we should make sure that
we clean everything
-rw-r--r-- | gst-libs/gst/base/gstaggregator.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gst-libs/gst/base/gstaggregator.c b/gst-libs/gst/base/gstaggregator.c index c2d00adde..7eab8063a 100644 --- a/gst-libs/gst/base/gstaggregator.c +++ b/gst-libs/gst/base/gstaggregator.c @@ -691,10 +691,21 @@ eat: } static gboolean +_flush_pad (GstAggregator * self, GstAggregatorPad * pad, gpointer unused_udata) +{ + _aggpad_flush (pad, self); + + return TRUE; +} + +static gboolean _stop (GstAggregator * agg) { _reset_flow_values (agg); + gst_aggregator_iterate_sinkpads (agg, + (GstAggregatorPadForeachFunc) _flush_pad, NULL); + return TRUE; } |