From 4a1cee3c447d4dacc92f5caa5c58e12bbc460263 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tim-Philipp=20M=C3=BCller?= Date: Sat, 14 Mar 2015 15:58:00 +0000 Subject: [PATCH] adapter: avoid multiple calls to gst_buffer_get_size() in macro --- libs/gst/base/gstadapter.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libs/gst/base/gstadapter.c b/libs/gst/base/gstadapter.c index 855d350..bf60573 100644 --- a/libs/gst/base/gstadapter.c +++ b/libs/gst/base/gstadapter.c @@ -795,10 +795,11 @@ gst_adapter_take_buffer_fast (GstAdapter * adapter, gsize nbytes) } for (item = adapter->buflist; item && left > 0; item = item->next) { - gsize size; + gsize size, cur_size; cur = item->data; - size = MIN (gst_buffer_get_size (cur) - skip, left); + cur_size = gst_buffer_get_size (cur); + size = MIN (cur_size - skip, left); GST_LOG_OBJECT (adapter, "appending %" G_GSIZE_FORMAT " bytes" " via region copy", size); @@ -924,7 +925,7 @@ gst_adapter_take_list (GstAdapter * adapter, gsize nbytes) { GQueue queue = G_QUEUE_INIT; GstBuffer *cur; - gsize hsize, skip; + gsize hsize, skip, cur_size; g_return_val_if_fail (GST_IS_ADAPTER (adapter), NULL); g_return_val_if_fail (nbytes <= adapter->size, NULL); @@ -934,7 +935,8 @@ gst_adapter_take_list (GstAdapter * adapter, gsize nbytes) while (nbytes > 0) { cur = adapter->buflist->data; skip = adapter->skip; - hsize = MIN (nbytes, gst_buffer_get_size (cur) - skip); + cur_size = gst_buffer_get_size (cur); + hsize = MIN (nbytes, cur_size - skip); cur = gst_adapter_take_buffer (adapter, hsize); -- 2.7.4