mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 21:16:24 +00:00
buffer: improve arg checking
Allow idx == 0 and length == -1 on empty buffers for the _range methods.
This commit is contained in:
parent
bf47cf6d65
commit
82c92a9c7c
1 changed files with 12 additions and 11 deletions
|
@ -827,8 +827,8 @@ gst_buffer_get_memory_range (GstBuffer * buffer, guint idx, gint length)
|
|||
|
||||
g_return_val_if_fail (GST_IS_BUFFER (buffer), NULL);
|
||||
len = GST_BUFFER_MEM_LEN (buffer);
|
||||
g_return_val_if_fail ((length == -1 && idx < len) ||
|
||||
(length > 0 && length + idx <= len), NULL);
|
||||
g_return_val_if_fail ((len == 0 && idx == 0 && length == -1) ||
|
||||
(length == -1 && idx < len) || (length > 0 && length + idx <= len), NULL);
|
||||
|
||||
if (length == -1)
|
||||
length = len - idx;
|
||||
|
@ -859,8 +859,8 @@ gst_buffer_replace_memory_range (GstBuffer * buffer, guint idx, gint length,
|
|||
g_return_if_fail (GST_IS_BUFFER (buffer));
|
||||
g_return_if_fail (gst_buffer_is_writable (buffer));
|
||||
len = GST_BUFFER_MEM_LEN (buffer);
|
||||
g_return_if_fail ((length == -1 && idx < len) || (length > 0
|
||||
&& length + idx <= len));
|
||||
g_return_if_fail ((len == 0 && idx == 0 && length == -1) ||
|
||||
(length == -1 && idx < len) || (length > 0 && length + idx <= len));
|
||||
|
||||
if (length == -1)
|
||||
length = len - idx;
|
||||
|
@ -887,7 +887,8 @@ gst_buffer_remove_memory_range (GstBuffer * buffer, guint idx, gint length)
|
|||
g_return_if_fail (gst_buffer_is_writable (buffer));
|
||||
|
||||
len = GST_BUFFER_MEM_LEN (buffer);
|
||||
g_return_if_fail ((length == -1 && idx < len) || length + idx <= len);
|
||||
g_return_if_fail ((len == 0 && idx == 0 && length == -1) ||
|
||||
(length == -1 && idx < len) || length + idx <= len);
|
||||
|
||||
if (length == -1)
|
||||
length = len - idx;
|
||||
|
@ -997,8 +998,8 @@ gst_buffer_get_sizes_range (GstBuffer * buffer, guint idx, gint length,
|
|||
|
||||
g_return_val_if_fail (GST_IS_BUFFER (buffer), 0);
|
||||
len = GST_BUFFER_MEM_LEN (buffer);
|
||||
g_return_val_if_fail (len == 0 || (length == -1 && idx < len)
|
||||
|| (length + idx <= len), 0);
|
||||
g_return_val_if_fail ((len == 0 && idx == 0 && length == -1) ||
|
||||
(length == -1 && idx < len) || (length + idx <= len), 0);
|
||||
|
||||
if (length == -1)
|
||||
length = len - idx;
|
||||
|
@ -1062,7 +1063,8 @@ gst_buffer_resize_range (GstBuffer * buffer, guint idx, gint length,
|
|||
g_return_if_fail (gst_buffer_is_writable (buffer));
|
||||
g_return_if_fail (size >= -1);
|
||||
len = GST_BUFFER_MEM_LEN (buffer);
|
||||
g_return_if_fail ((length == -1 && idx < len) || (length + idx <= len));
|
||||
g_return_if_fail ((len == 0 && idx == 0 && length == -1) ||
|
||||
(length == -1 && idx < len) || (length + idx <= len));
|
||||
|
||||
if (length == -1)
|
||||
length = len - idx;
|
||||
|
@ -1166,9 +1168,8 @@ gst_buffer_map_range (GstBuffer * buffer, guint idx, gint length,
|
|||
g_return_val_if_fail (GST_IS_BUFFER (buffer), FALSE);
|
||||
g_return_val_if_fail (info != NULL, FALSE);
|
||||
len = GST_BUFFER_MEM_LEN (buffer);
|
||||
if (len == 0)
|
||||
goto no_memory;
|
||||
g_return_val_if_fail ((length == -1 && idx < len) || (length > 0
|
||||
g_return_val_if_fail ((len == 0 && idx == 0 && length == -1) ||
|
||||
(length == -1 && idx < len) || (length > 0
|
||||
&& length + idx <= len), FALSE);
|
||||
|
||||
write = (flags & GST_MAP_WRITE) != 0;
|
||||
|
|
Loading…
Reference in a new issue