mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-26 02:00:33 +00:00
basesink: use new gst_buffer_list_calculate_size() utility function
This commit is contained in:
parent
0ca70247fc
commit
2841b8f0b2
1 changed files with 8 additions and 13 deletions
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue