From: Tim-Philipp Müller Date: Thu, 5 Oct 2017 12:35:14 +0000 (+0100) Subject: basesink: use new gst_buffer_list_calculate_size() utility function X-Git-Tag: 1.16.2~647 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=2841b8f0b25c769be9600e13c4bd1d8474f4ec79;p=platform%2Fupstream%2Fgstreamer.git basesink: use new gst_buffer_list_calculate_size() utility function --- diff --git a/libs/gst/base/gstbasesink.c b/libs/gst/base/gstbasesink.c index 53cb636..b4b11f0 100644 --- a/libs/gst/base/gstbasesink.c +++ b/libs/gst/base/gstbasesink.c @@ -3343,13 +3343,6 @@ gst_base_sink_needs_preroll (GstBaseSink * basesink) return res; } -static gboolean -count_list_bytes (GstBuffer ** buffer, guint idx, GstBaseSinkPrivate * priv) -{ - priv->rc_accumulated += gst_buffer_get_size (*buffer); - return TRUE; -} - /* with STREAM_LOCK, PREROLL_LOCK * * Takes a buffer and compare the timestamps with the last segment. @@ -3530,12 +3523,14 @@ again: goto dropped; if (priv->max_bitrate) { - if (is_list) { - gst_buffer_list_foreach (GST_BUFFER_LIST_CAST (obj), - (GstBufferListFunc) count_list_bytes, priv); - } else { - priv->rc_accumulated += gst_buffer_get_size (GST_BUFFER_CAST (obj)); - } + gsize size; + + if (is_list) + size = gst_buffer_list_calculate_size (GST_BUFFER_LIST_CAST (obj)); + else + size = gst_buffer_get_size (GST_BUFFER_CAST (obj)); + + priv->rc_accumulated += size; priv->rc_next = priv->rc_time + gst_util_uint64_scale (priv->rc_accumulated, 8 * GST_SECOND, priv->max_bitrate); }