summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2011-03-22 20:51:06 +0100
committerWim Taymans <wim.taymans@collabora.co.uk>2011-03-28 20:08:46 +0200
commit1af328e7851874e714c3ddb19da4cccb3eeabe50 (patch)
tree837f46d778c343471e3c8fccebfb600e275dd40c
parent4a9a59df08f2beac79c12e27446c635d5ec079a9 (diff)
memory: more work on porting the unit tests
-rw-r--r--gst/gst.c1
-rw-r--r--gst/gstbuffer.c31
-rw-r--r--gst/gstbuffer.h3
-rw-r--r--gst/gstmemory.c23
-rw-r--r--gst/gstmemory.h24
-rw-r--r--tests/check/gst/gstbuffer.c4
-rw-r--r--tests/check/libs/adapter.c106
-rw-r--r--tests/check/libs/bitreader.c13
-rw-r--r--tests/check/libs/bytereader.c13
-rw-r--r--tests/check/libs/test_transform.c4
-rw-r--r--tests/check/libs/transform1.c48
11 files changed, 162 insertions, 108 deletions
diff --git a/gst/gst.c b/gst/gst.c
index cd6f2a212..efa71a991 100644
--- a/gst/gst.c
+++ b/gst/gst.c
@@ -665,6 +665,7 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data,
g_log_set_handler (g_log_domain_gstreamer, llf, debug_log_handler, NULL);
_priv_gst_quarks_initialize ();
+ _gst_memory_init ();
_gst_format_initialize ();
_gst_query_initialize ();
_gst_caps_initialize ();
diff --git a/gst/gstbuffer.c b/gst/gstbuffer.c
index 3e9c39646..5d8bd4abf 100644
--- a/gst/gstbuffer.c
+++ b/gst/gstbuffer.c
@@ -239,16 +239,23 @@ gst_buffer_copy_into (GstBuffer * dest, GstBuffer * src,
len = sarr->len;
- if (flags & GST_BUFFER_COPY_MEMORY_SHARE) {
- for (i = 0; i < len; i++) {
- GstMemory *mem = g_ptr_array_index (sarr, i);
- g_ptr_array_add (darr, gst_memory_ref (mem));
- }
- } else {
- for (i = 0; i < len; i++) {
- GstMemory *mem = g_ptr_array_index (sarr, i);
- g_ptr_array_add (darr, gst_memory_copy (mem));
- }
+ for (i = 0; i < len; i++) {
+ GstMemory *mem, *dmem;
+ gsize size;
+
+ mem = g_ptr_array_index (sarr, i);
+ if (i + 1 == len) {
+ /* last chunk */
+ size = gst_memory_get_sizes (mem, NULL);
+ dmem = gst_memory_sub (mem, offset, size - offset - trim);
+ } else if (offset) {
+ size = gst_memory_get_sizes (mem, NULL);
+ dmem = gst_memory_sub (mem, offset, size - offset);
+ offset = 0;
+ } else
+ dmem = gst_memory_ref (mem);
+
+ g_ptr_array_add (darr, dmem);
}
}
@@ -654,7 +661,7 @@ gst_buffer_make_metadata_writable (GstBuffer * buf)
ret = gst_buffer_new ();
/* we simply copy everything from our parent */
- gst_buffer_copy_into (ret, buf, GST_BUFFER_SHARE_ALL, 0, 0);
+ gst_buffer_copy_into (ret, buf, GST_BUFFER_COPY_ALL, 0, 0);
gst_buffer_unref (buf);
}
return ret;
@@ -698,7 +705,7 @@ gst_buffer_create_sub (GstBuffer * buffer, gsize offset, gsize size)
GST_CAT_LOG (GST_CAT_BUFFER, "new subbuffer %p of %p", subbuffer, buffer);
- gst_buffer_copy_into (subbuffer, buffer, GST_BUFFER_SHARE_ALL, offset,
+ gst_buffer_copy_into (subbuffer, buffer, GST_BUFFER_COPY_ALL, offset,
bufsize - (size + offset));
return subbuffer;
diff --git a/gst/gstbuffer.h b/gst/gstbuffer.h
index 552cae1bf..1e008be40 100644
--- a/gst/gstbuffer.h
+++ b/gst/gstbuffer.h
@@ -414,7 +414,6 @@ typedef enum {
GST_BUFFER_COPY_CAPS = (1 << 2),
GST_BUFFER_COPY_MEMORY = (1 << 3),
GST_BUFFER_COPY_MEMORY_MERGE = (1 << 4),
- GST_BUFFER_COPY_MEMORY_SHARE = (1 << 5),
} GstBufferCopyFlags;
#define GST_BUFFER_COPY_METADATA (GST_BUFFER_COPY_FLAGS | GST_BUFFER_COPY_TIMESTAMPS | GST_BUFFER_COPY_CAPS)
@@ -429,8 +428,6 @@ typedef enum {
*/
#define GST_BUFFER_COPY_ALL (GST_BUFFER_COPY_METADATA | GST_BUFFER_COPY_MEMORY)
-#define GST_BUFFER_SHARE_ALL (GST_BUFFER_COPY_METADATA | GST_BUFFER_COPY_MEMORY | GST_BUFFER_COPY_MEMORY_SHARE)
-
/* copies memory or metadata into newly allocated buffer */
void gst_buffer_copy_into (GstBuffer *dest, GstBuffer *src,
GstBufferCopyFlags flags,
diff --git a/gst/gstmemory.c b/gst/gstmemory.c
index cadea03e0..e73f3e9df 100644
--- a/gst/gstmemory.c
+++ b/gst/gstmemory.c
@@ -184,12 +184,12 @@ _default_mem_free (GstMemoryDefault * mem)
}
static GstMemoryDefault *
-_default_mem_copy (GstMemoryDefault * mem)
+_default_mem_copy (GstMemoryDefault * mem, gsize offset, gsize size)
{
GstMemoryDefault *copy;
- copy = _default_mem_new_block (mem->maxsize, 0, mem->offset, mem->size);
- memcpy (copy->data + copy->offset, mem->data, mem->maxsize);
+ copy = _default_mem_new_block (mem->maxsize, 0, mem->offset + offset, size);
+ memcpy (copy->data, mem->data, mem->maxsize);
return copy;
}
@@ -242,16 +242,16 @@ _fallback_extract (GstMemory * mem, gsize offset, gpointer dest, gsize size)
}
static GstMemory *
-_fallback_copy (GstMemory * mem)
+_fallback_copy (GstMemory * mem, gsize offset, gsize size)
{
GstMemoryDefault *copy;
- gpointer data;
- gsize size;
+ guint8 *data;
+ gsize msize;
- data = gst_memory_map (mem, &size, NULL, GST_MAP_READ);
+ data = gst_memory_map (mem, &msize, NULL, GST_MAP_READ);
copy = _default_mem_new_block (size, 0, 0, size);
- memcpy (copy->data, data, size);
- gst_memory_unmap (mem, data, size);
+ memcpy (copy->data, data + offset, size);
+ gst_memory_unmap (mem, data, msize);
return (GstMemory *) copy;
}
@@ -356,6 +356,7 @@ void
gst_memory_unref (GstMemory * mem)
{
g_return_if_fail (mem != NULL);
+ g_return_if_fail (mem->impl != NULL);
if (g_atomic_int_dec_and_test (&mem->refcount))
mem->impl->info.free (mem);
@@ -387,11 +388,11 @@ gst_memory_unmap (GstMemory * mem, gpointer data, gsize size)
}
GstMemory *
-gst_memory_copy (GstMemory * mem)
+gst_memory_copy (GstMemory * mem, gsize offset, gsize size)
{
g_return_val_if_fail (mem != NULL, NULL);
- return mem->impl->info.copy (mem);
+ return mem->impl->info.copy (mem, offset, size);
}
void
diff --git a/gst/gstmemory.h b/gst/gstmemory.h
index c3718213a..3dacf3d85 100644
--- a/gst/gstmemory.h
+++ b/gst/gstmemory.h
@@ -74,7 +74,7 @@ typedef gpointer (*GstMemoryMapFunction) (GstMemory *mem, gsize *size, gsize
typedef gboolean (*GstMemoryUnmapFunction) (GstMemory *mem, gpointer data, gsize size);
typedef void (*GstMemoryFreeFunction) (GstMemory *mem);
-typedef GstMemory * (*GstMemoryCopyFunction) (GstMemory *mem);
+typedef GstMemory * (*GstMemoryCopyFunction) (GstMemory *mem, gsize offset, gsize size);
typedef void (*GstMemoryExtractFunction) (GstMemory *mem, gsize offset,
gpointer dest, gsize size);
typedef void (*GstMemoryTrimFunction) (GstMemory *mem, gsize offset, gsize size);
@@ -103,21 +103,32 @@ struct _GstMemoryInfo {
void _gst_memory_init (void);
+/* allocating memory blocks */
+GstMemory * gst_memory_new_wrapped (gpointer data, GFreeFunc free_func,
+ gsize maxsize, gsize offset, gsize size);
+GstMemory * gst_memory_new_alloc (gsize maxsize, gsize align);
+GstMemory * gst_memory_new_copy (gsize maxsize, gsize align, gpointer data,
+ gsize offset, gsize size);
+
+/* refcounting */
GstMemory * gst_memory_ref (GstMemory *mem);
void gst_memory_unref (GstMemory *mem);
+/* getting/setting memory properties */
gsize gst_memory_get_sizes (GstMemory *mem, gsize *maxsize);
void gst_memory_trim (GstMemory *mem, gsize offset, gsize size);
+/* retriveing data */
gpointer gst_memory_map (GstMemory *mem, gsize *size, gsize *maxsize,
GstMapFlags flags);
gboolean gst_memory_unmap (GstMemory *mem, gpointer data, gsize size);
-
-GstMemory * gst_memory_copy (GstMemory *mem);
void gst_memory_extract (GstMemory *mem, gsize offset, gpointer dest,
gsize size);
+/* copy and subregions */
+GstMemory * gst_memory_copy (GstMemory *mem, gsize offset, gsize size);
GstMemory * gst_memory_sub (GstMemory *mem, gsize offset, gsize size);
+/* memory arrays */
gboolean gst_memory_is_span (GstMemory **mem1, gsize len1,
GstMemory **mem2, gsize len2,
GstMemory **parent, gsize *offset);
@@ -125,13 +136,6 @@ GstMemory * gst_memory_span (GstMemory **mem1, gsize len1, gsize offset,
GstMemory **mem2, gsize len2, gsize size);
-GstMemory * gst_memory_new_wrapped (gpointer data, GFreeFunc free_func,
- gsize maxsize, gsize offset, gsize size);
-GstMemory * gst_memory_new_alloc (gsize maxsize, gsize align);
-GstMemory * gst_memory_new_copy (gsize maxsize, gsize align, gpointer data,
- gsize offset, gsize size);
-
-
const GstMemoryImpl * gst_memory_register (const gchar *impl, const GstMemoryInfo *info);
#if 0
diff --git a/tests/check/gst/gstbuffer.c b/tests/check/gst/gstbuffer.c
index 1fcd9f589..f46166c54 100644
--- a/tests/check/gst/gstbuffer.c
+++ b/tests/check/gst/gstbuffer.c
@@ -87,9 +87,11 @@ GST_START_TEST (test_subbuffer)
/* check sizes, buffer starts out empty */
data = gst_buffer_map (buffer, &size, &maxsize, GST_MAP_WRITE);
fail_unless (size == 0, "buffer has wrong size");
- fail_unless (maxsize == 4, "buffer has wrong size");
+ fail_unless (maxsize >= 4, "buffer has wrong size");
memset (data, 0, 4);
+ gst_buffer_unmap (buffer, data, 4);
+ data = gst_buffer_map (buffer, &size, NULL, GST_MAP_READ);
/* set some metadata */
GST_BUFFER_TIMESTAMP (buffer) = 1;
GST_BUFFER_DURATION (buffer) = 2;
diff --git a/tests/check/libs/adapter.c b/tests/check/libs/adapter.c
index de0e4f9cd..f8310e33c 100644
--- a/tests/check/libs/adapter.c
+++ b/tests/check/libs/adapter.c
@@ -43,7 +43,8 @@ GST_START_TEST (test_peek1)
/* push single buffer in adapter */
buffer = gst_buffer_new_and_alloc (512);
- bufdata = GST_BUFFER_DATA (buffer);
+
+ bufdata = gst_buffer_map (buffer, NULL, NULL, GST_MAP_READ);
fail_if (buffer == NULL);
gst_adapter_push (adapter, buffer);
@@ -56,22 +57,25 @@ GST_START_TEST (test_peek1)
fail_if (avail != 512);
/* should g_critical with NULL as result */
- ASSERT_CRITICAL (data1 = gst_adapter_peek (adapter, 0));
+ ASSERT_CRITICAL (data1 = gst_adapter_map (adapter, 0));
fail_if (data1 != NULL);
/* should return NULL as result */
- data1 = gst_adapter_peek (adapter, 513);
+ data1 = gst_adapter_map (adapter, 513);
fail_if (data1 != NULL);
/* this should work */
- data1 = gst_adapter_peek (adapter, 512);
+ data1 = gst_adapter_map (adapter, 512);
fail_if (data1 == NULL);
/* it should point to the buffer data as well */
fail_if (data1 != bufdata);
- data2 = gst_adapter_peek (adapter, 512);
+ gst_adapter_unmap (adapter, 0);
+
+ data2 = gst_adapter_map (adapter, 512);
fail_if (data2 == NULL);
/* second peek should return the same pointer */
fail_if (data2 != data1);
+ gst_adapter_unmap (adapter, 0);
/* this should fail since we don't have that many bytes */
ASSERT_CRITICAL (gst_adapter_flush (adapter, 513));
@@ -86,15 +90,16 @@ GST_START_TEST (test_peek1)
fail_if (avail != 502);
/* should return NULL as result */
- data2 = gst_adapter_peek (adapter, 503);
+ data2 = gst_adapter_map (adapter, 503);
fail_if (data2 != NULL);
/* should work fine */
- data2 = gst_adapter_peek (adapter, 502);
+ data2 = gst_adapter_map (adapter, 502);
fail_if (data2 == NULL);
/* peek should return the same old pointer + 10 */
fail_if (data2 != data1 + 10);
fail_if (data2 != bufdata + 10);
+ gst_adapter_unmap (adapter, 0);
/* flush some more */
gst_adapter_flush (adapter, 500);
@@ -105,10 +110,11 @@ GST_START_TEST (test_peek1)
avail = gst_adapter_available_fast (adapter);
fail_if (avail != 2);
- data2 = gst_adapter_peek (adapter, 2);
+ data2 = gst_adapter_map (adapter, 2);
fail_if (data2 == NULL);
fail_if (data2 != data1 + 510);
fail_if (data2 != bufdata + 510);
+ gst_adapter_unmap (adapter, 0);
/* flush some more */
gst_adapter_flush (adapter, 2);
@@ -119,6 +125,8 @@ GST_START_TEST (test_peek1)
avail = gst_adapter_available_fast (adapter);
fail_if (avail != 0);
+ gst_buffer_unmap (buffer, (gpointer) bufdata, 0);
+
/* silly clear just for fun */
gst_adapter_clear (adapter);
@@ -153,16 +161,16 @@ GST_START_TEST (test_take1)
GstBuffer *buffer, *buffer2;
guint avail;
guint8 *data, *data2;
+ gsize size, size2;
adapter = gst_adapter_new ();
fail_unless (adapter != NULL);
buffer = gst_buffer_new_and_alloc (100);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_DATA (buffer) != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 100);
-
- data = GST_BUFFER_DATA (buffer);
+ data = gst_buffer_map (buffer, &size, NULL, GST_MAP_READ);
+ fail_unless (data != NULL);
+ fail_unless (size == 100);
/* push in the adapter */
gst_adapter_push (adapter, buffer);
@@ -173,9 +181,10 @@ GST_START_TEST (test_take1)
/* take out buffer */
buffer2 = gst_adapter_take_buffer (adapter, 100);
fail_unless (buffer2 != NULL);
- fail_unless (GST_BUFFER_DATA (buffer2) != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer2) == 100);
- data2 = GST_BUFFER_DATA (buffer2);
+
+ data2 = gst_buffer_map (buffer2, &size2, NULL, GST_MAP_READ);
+ fail_unless (data2 != NULL);
+ fail_unless (size2 == 100);
avail = gst_adapter_available (adapter);
fail_unless (avail == 0);
@@ -184,6 +193,9 @@ GST_START_TEST (test_take1)
fail_unless (buffer == buffer2);
fail_unless (data == data2);
+ gst_buffer_unmap (buffer, data, size);
+ gst_buffer_unmap (buffer2, data2, size2);
+
gst_buffer_unref (buffer2);
g_object_unref (adapter);
@@ -209,16 +221,16 @@ GST_START_TEST (test_take3)
GstBuffer *buffer, *buffer2;
guint avail;
guint8 *data, *data2;
+ gsize size, size2;
adapter = gst_adapter_new ();
fail_unless (adapter != NULL);
buffer = gst_buffer_new_and_alloc (100);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_DATA (buffer) != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 100);
-
- data = GST_BUFFER_DATA (buffer);
+ data = gst_buffer_map (buffer, &size, NULL, GST_MAP_READ);
+ fail_unless (data != NULL);
+ fail_unless (size == 100);
/* set up and push subbuffers */
buffer2 = gst_buffer_create_sub (buffer, 0, 25);
@@ -238,9 +250,9 @@ GST_START_TEST (test_take3)
/* take out buffer */
buffer2 = gst_adapter_take_buffer (adapter, 100);
fail_unless (buffer2 != NULL);
- fail_unless (GST_BUFFER_DATA (buffer2) != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer2) == 100);
- data2 = GST_BUFFER_DATA (buffer2);
+ data2 = gst_buffer_map (buffer2, &size2, NULL, GST_MAP_READ);
+ fail_unless (data2 != NULL);
+ fail_unless (size2 == 100);
avail = gst_adapter_available (adapter);
fail_unless (avail == 0);
@@ -248,6 +260,8 @@ GST_START_TEST (test_take3)
/* the data should be the same */
fail_unless (data == data2);
+ gst_buffer_unmap (buffer, data, size);
+ gst_buffer_unmap (buffer2, data2, size2);
gst_buffer_unref (buffer2);
g_object_unref (adapter);
@@ -265,16 +279,20 @@ create_and_fill_adapter (void)
fail_unless (adapter != NULL);
for (i = 0; i < 10000; i += 4) {
- GstBuffer *buf = gst_buffer_new_and_alloc (sizeof (guint32) * 4);
+ GstBuffer *buf;
guint8 *data;
+ buf = gst_buffer_new_and_alloc (sizeof (guint32) * 4);
fail_unless (buf != NULL);
- data = GST_BUFFER_DATA (buf);
+
+ data = gst_buffer_map (buf, NULL, NULL, GST_MAP_WRITE);
for (j = 0; j < 4; j++) {
GST_WRITE_UINT32_LE (data, i + j);
data += sizeof (guint32);
}
+ gst_buffer_unmap (buf, data, sizeof (guint32) * 4);
+
gst_adapter_push (adapter, buf);
}
@@ -314,8 +332,13 @@ GST_START_TEST (test_take_buf_order)
adapter = create_and_fill_adapter ();
while (gst_adapter_available (adapter) >= sizeof (guint32)) {
GstBuffer *buf = gst_adapter_take_buffer (adapter, sizeof (guint32));
+ gpointer data;
+ gsize size;
+
+ data = gst_buffer_map (buf, &size, NULL, GST_MAP_READ);
+ fail_unless (GST_READ_UINT32_LE (data) == i);
+ gst_buffer_unmap (buf, data, size);
- fail_unless (GST_READ_UINT32_LE (GST_BUFFER_DATA (buf)) == i);
i++;
gst_buffer_unref (buf);
@@ -509,7 +532,7 @@ GST_START_TEST (test_timestamp)
/* remove first buffer, timestamp of empty buffer is visible */
buffer = gst_adapter_take_buffer (adapter, 99);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 99);
+ fail_unless (gst_buffer_get_size (buffer) == 99);
gst_buffer_unref (buffer);
avail = gst_adapter_available (adapter);
fail_unless (avail == 100);
@@ -518,8 +541,10 @@ GST_START_TEST (test_timestamp)
fail_unless (dist == 0);
/* remove empty buffer, timestamp still visible */
- cdata = gst_adapter_peek (adapter, 50);
+ cdata = gst_adapter_map (adapter, 50);
fail_unless (cdata != NULL);
+ gst_adapter_unmap (adapter, 0);
+
data = gst_adapter_take (adapter, 50);
fail_unless (data != NULL);
g_free (data);
@@ -546,10 +571,12 @@ GST_START_TEST (test_scan)
fail_unless (adapter != NULL);
buffer = gst_buffer_new_and_alloc (100);
- data = GST_BUFFER_DATA (buffer);
+
+ data = gst_buffer_map (buffer, NULL, NULL, GST_MAP_WRITE);
/* fill with pattern */
for (i = 0; i < 100; i++)
data[i] = i;
+ gst_buffer_unmap (buffer, data, 100);
gst_adapter_push (adapter, buffer);
@@ -608,10 +635,12 @@ GST_START_TEST (test_scan)
/* add another buffer */
buffer = gst_buffer_new_and_alloc (100);
- data = GST_BUFFER_DATA (buffer);
+
+ data = gst_buffer_map (buffer, NULL, NULL, GST_MAP_WRITE);
/* fill with pattern */
for (i = 0; i < 100; i++)
data[i] = i + 100;
+ gst_buffer_unmap (buffer, data, 100);
gst_adapter_push (adapter, buffer);
@@ -739,23 +768,26 @@ GST_START_TEST (test_take_list)
while (gst_adapter_available (adapter) >= sizeof (guint32)) {
GList *list, *walk;
GstBuffer *buf;
- guint size;
- guint8 *data;
+ gsize size, left;
+ guint8 *data, *ptr;
list = gst_adapter_take_list (adapter, sizeof (guint32) * 5);
fail_unless (list != NULL);
for (walk = list; walk; walk = g_list_next (walk)) {
buf = walk->data;
- data = GST_BUFFER_DATA (buf);
- size = GST_BUFFER_SIZE (buf);
- while (size > 0) {
- fail_unless (GST_READ_UINT32_LE (data) == i);
+ ptr = data = gst_buffer_map (buf, &size, NULL, GST_MAP_READ);
+
+ left = size;
+ while (left > 0) {
+ fail_unless (GST_READ_UINT32_LE (ptr) == i);
i++;
- data += sizeof (guint32);
- size -= sizeof (guint32);
+ ptr += sizeof (guint32);
+ left -= sizeof (guint32);
}
+ gst_buffer_unmap (buf, data, size);
+
gst_buffer_unref (buf);
}
g_list_free (list);
diff --git a/tests/check/libs/bitreader.c b/tests/check/libs/bitreader.c
index ac2e3cddc..635b6f215 100644
--- a/tests/check/libs/bitreader.c
+++ b/tests/check/libs/bitreader.c
@@ -46,9 +46,10 @@ GST_START_TEST (test_initialization)
GstBitReader reader = GST_BIT_READER_INIT (data, 4);
GstBitReader *reader2;
guint8 x = 0;
+ guint8 *bdata;
+ gsize bsize;
- GST_BUFFER_DATA (buffer) = data;
- GST_BUFFER_SIZE (buffer) = 4;
+ gst_buffer_take_memory (buffer, gst_memory_new_wrapped (data, NULL, 4, 0, 4));
fail_unless (gst_bit_reader_get_bits_uint8 (&reader, &x, 8));
fail_unless_equals_int (x, 0x01);
@@ -63,11 +64,13 @@ GST_START_TEST (test_initialization)
fail_unless (gst_bit_reader_get_bits_uint8 (&reader, &x, 8));
fail_unless_equals_int (x, 0x02);
- gst_bit_reader_init_from_buffer (&reader, buffer);
+ bdata = gst_buffer_map (buffer, &bsize, NULL, GST_MAP_READ);
+ gst_bit_reader_init (&reader, bdata, bsize);
fail_unless (gst_bit_reader_get_bits_uint8 (&reader, &x, 8));
fail_unless_equals_int (x, 0x01);
fail_unless (gst_bit_reader_get_bits_uint8 (&reader, &x, 8));
fail_unless_equals_int (x, 0x02);
+ gst_buffer_unmap (buffer, bdata, bsize);
reader2 = gst_bit_reader_new (data, 4);
fail_unless (gst_bit_reader_get_bits_uint8 (reader2, &x, 8));
@@ -76,12 +79,14 @@ GST_START_TEST (test_initialization)
fail_unless_equals_int (x, 0x02);
gst_bit_reader_free (reader2);
- reader2 = gst_bit_reader_new_from_buffer (buffer);
+ bdata = gst_buffer_map (buffer, &bsize, NULL, GST_MAP_READ);
+ reader2 = gst_bit_reader_new (bdata, bsize);
fail_unless (gst_bit_reader_get_bits_uint8 (reader2, &x, 8));
fail_unless_equals_int (x, 0x01);
fail_unless (gst_bit_reader_get_bits_uint8 (reader2, &x, 8));
fail_unless_equals_int (x, 0x02);
gst_bit_reader_free (reader2);
+ gst_buffer_unmap (buffer, bdata, bsize);
gst_buffer_unref (buffer);
}
diff --git a/tests/check/libs/bytereader.c b/tests/check/libs/bytereader.c
index 4d0c3cfaa..d71f7f62a 100644
--- a/tests/check/libs/bytereader.c
+++ b/tests/check/libs/bytereader.c
@@ -46,9 +46,10 @@ GST_START_TEST (test_initialization)
GstByteReader reader = GST_BYTE_READER_INIT (data, 4);
GstByteReader *reader2;
guint8 x = 0;
+ guint8 *bdata;
+ gsize bsize;
- GST_BUFFER_DATA (buffer) = data;
- GST_BUFFER_SIZE (buffer) = 4;
+ gst_buffer_take_memory (buffer, gst_memory_new_wrapped (data, NULL, 4, 0, 4));
fail_unless (gst_byte_reader_get_uint8 (&reader, &x));
fail_unless_equals_int (x, 0x01);
@@ -63,11 +64,13 @@ GST_START_TEST (test_initialization)
fail_unless (gst_byte_reader_get_uint8 (&reader, &x));
fail_unless_equals_int (x, 0x02);
- gst_byte_reader_init_from_buffer (&reader, buffer);
+ bdata = gst_buffer_map (buffer, &bsize, NULL, GST_MAP_READ);
+ gst_byte_reader_init (&reader, bdata, bsize);
fail_unless (gst_byte_reader_get_uint8 (&reader, &x));
fail_unless_equals_int (x, 0x01);
fail_unless (gst_byte_reader_get_uint8 (&reader, &x));
fail_unless_equals_int (x, 0x02);
+ gst_buffer_unmap (buffer, bdata, bsize);
reader2 = gst_byte_reader_new (data, 4);
fail_unless (gst_byte_reader_get_uint8 (reader2, &x));
@@ -76,12 +79,14 @@ GST_START_TEST (test_initialization)
fail_unless_equals_int (x, 0x02);
gst_byte_reader_free (reader2);
- reader2 = gst_byte_reader_new_from_buffer (buffer);
+ bdata = gst_buffer_map (buffer, &bsize, NULL, GST_MAP_READ);
+ reader2 = gst_byte_reader_new (bdata, bsize);
fail_unless (gst_byte_reader_get_uint8 (reader2, &x));
fail_unless_equals_int (x, 0x01);
fail_unless (gst_byte_reader_get_uint8 (reader2, &x));
fail_unless_equals_int (x, 0x02);
gst_byte_reader_free (reader2);
+ gst_buffer_unmap (buffer, bdata, bsize);
gst_buffer_unref (buffer);
}
diff --git a/tests/check/libs/test_transform.c b/tests/check/libs/test_transform.c
index 960416470..7cca241e3 100644
--- a/tests/check/libs/test_transform.c
+++ b/tests/check/libs/test_transform.c
@@ -69,8 +69,8 @@ static gboolean (*klass_set_caps) (GstBaseTransform * trans, GstCaps * incaps,
static GstCaps *(*klass_transform_caps) (GstBaseTransform * trans,
GstPadDirection direction, GstCaps * caps) = NULL;
static gboolean (*klass_transform_size) (GstBaseTransform * trans,
- GstPadDirection direction, GstCaps * caps, guint size, GstCaps * othercaps,
- guint * othersize) = NULL;
+ GstPadDirection direction, GstCaps * caps, gsize size, GstCaps * othercaps,
+ gsize * othersize) = NULL;
static gboolean klass_passthrough_on_same_caps = FALSE;
static GstStaticPadTemplate *sink_template = &gst_test_trans_sink_template;
diff --git a/tests/check/libs/transform1.c b/tests/check/libs/transform1.c
index cd4cede35..a483d6267 100644
--- a/tests/check/libs/transform1.c
+++ b/tests/check/libs/transform1.c
@@ -85,7 +85,7 @@ GST_START_TEST (basetransform_chain_pt1)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
/* caps should not have been set */
fail_unless (GST_BUFFER_CAPS (buffer) == NULL);
@@ -104,7 +104,7 @@ GST_START_TEST (basetransform_chain_pt1)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 10);
+ fail_unless (gst_buffer_get_size (buffer) == 10);
/* caps should not have been set */
fail_unless (GST_BUFFER_CAPS (buffer) == NULL);
@@ -194,7 +194,7 @@ GST_START_TEST (basetransform_chain_pt2)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), caps));
gst_buffer_unref (buffer);
@@ -230,7 +230,7 @@ GST_START_TEST (basetransform_chain_pt2)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 10);
+ fail_unless (gst_buffer_get_size (buffer) == 10);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), caps));
gst_buffer_unref (buffer);
@@ -312,7 +312,7 @@ GST_START_TEST (basetransform_chain_ip1)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
gst_buffer_unref (buffer);
GST_DEBUG_OBJECT (trans, "buffer without caps extra ref, size 20");
@@ -337,7 +337,7 @@ GST_START_TEST (basetransform_chain_ip1)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
/* output buffer has refcount 1 */
fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
@@ -400,7 +400,7 @@ GST_START_TEST (basetransform_chain_ip2)
res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, NULL, &buffer);
fail_unless (res == GST_FLOW_OK);
fail_unless (buffer_alloc_pt1_called == TRUE);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
fail_unless (GST_BUFFER_CAPS (buffer) == NULL);
gst_buffer_unref (buffer);
@@ -413,7 +413,7 @@ GST_START_TEST (basetransform_chain_ip2)
res = gst_pad_alloc_buffer (trans->srcpad, 0, 20, caps, &buffer);
fail_unless (res == GST_FLOW_OK);
fail_unless (buffer_alloc_pt1_called == TRUE);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
fail_unless (GST_BUFFER_CAPS (buffer) == caps);
gst_buffer_unref (buffer);
@@ -453,7 +453,7 @@ GST_START_TEST (basetransform_chain_ip2)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), caps));
gst_buffer_unref (buffer);
@@ -488,7 +488,7 @@ GST_START_TEST (basetransform_chain_ip2)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), caps));
/* output buffer has refcount 1 */
@@ -570,7 +570,7 @@ transform_caps_ct1 (GstBaseTransform * trans, GstPadDirection dir,
static gboolean
transform_size_ct1 (GstBaseTransform * trans, GstPadDirection direction,
- GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize)
+ GstCaps * caps, gsize size, GstCaps * othercaps, gsize * othersize)
{
if (direction == GST_PAD_SINK) {
*othersize = size * 2;
@@ -695,7 +695,7 @@ GST_START_TEST (basetransform_chain_ct1)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 40);
+ fail_unless (gst_buffer_get_size (buffer) == 40);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), outcaps));
gst_buffer_unref (buffer);
@@ -721,7 +721,7 @@ GST_START_TEST (basetransform_chain_ct1)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 40);
+ fail_unless (gst_buffer_get_size (buffer) == 40);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), outcaps));
/* output buffer has refcount 1 */
@@ -738,7 +738,7 @@ GST_START_TEST (basetransform_chain_ct1)
* currently still calls the pad alloc for no reason and then throws away the
* buffer. */
fail_unless (buffer_alloc_ct1_called == FALSE);
- fail_unless (GST_BUFFER_SIZE (buffer) == 10);
+ fail_unless (gst_buffer_get_size (buffer) == 10);
gst_buffer_unref (buffer);
/* with caps buffer */
@@ -827,7 +827,7 @@ transform_caps_ct2 (GstBaseTransform * trans, GstPadDirection dir,
static gboolean
transform_size_ct2 (GstBaseTransform * trans, GstPadDirection direction,
- GstCaps * caps, guint size, GstCaps * othercaps, guint * othersize)
+ GstCaps * caps, gsize size, GstCaps * othercaps, gsize * othersize)
{
if (gst_caps_is_equal (caps, othercaps)) {
*othersize = size;
@@ -983,7 +983,7 @@ GST_START_TEST (basetransform_chain_ct2)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
gst_buffer_unref (buffer);
@@ -1009,7 +1009,7 @@ GST_START_TEST (basetransform_chain_ct2)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
/* output buffer has refcount 1 */
@@ -1024,7 +1024,7 @@ GST_START_TEST (basetransform_chain_ct2)
res = gst_pad_alloc_buffer (trans->srcpad, 0, 10, incaps, &buffer);
fail_unless (res == GST_FLOW_OK);
fail_unless (buffer_alloc_ct2_called == TRUE);
- fail_unless (GST_BUFFER_SIZE (buffer) == 10);
+ fail_unless (gst_buffer_get_size (buffer) == 10);
gst_buffer_unref (buffer);
/* with caps buffer */
@@ -1140,7 +1140,7 @@ GST_START_TEST (basetransform_chain_ct3)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
gst_buffer_unref (buffer);
@@ -1164,7 +1164,7 @@ GST_START_TEST (basetransform_chain_ct3)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
/* output buffer has refcount 1 */
@@ -1179,7 +1179,7 @@ GST_START_TEST (basetransform_chain_ct3)
res = gst_pad_alloc_buffer (trans->srcpad, 0, 10, incaps, &buffer);
fail_unless (res == GST_FLOW_OK);
fail_unless (buffer_alloc_ct2_called == TRUE);
- fail_unless (GST_BUFFER_SIZE (buffer) == 10);
+ fail_unless (gst_buffer_get_size (buffer) == 10);
gst_buffer_unref (buffer);
/* with caps buffer */
@@ -1226,7 +1226,7 @@ GST_START_TEST (basetransform_chain_ct3)
GST_DEBUG_OBJECT (trans, "received caps %" GST_PTR_FORMAT,
GST_BUFFER_CAPS (buffer));
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), outcaps));
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
/* output buffer has refcount 1 */
fail_unless (GST_MINI_OBJECT_REFCOUNT_VALUE (buffer) == 1);
@@ -1244,7 +1244,7 @@ GST_START_TEST (basetransform_chain_ct3)
fail_unless (buffer_alloc_ct2_called == TRUE);
/* FIXME a buffer alloc should never set caps */
fail_unless (set_caps_ct2_called == FALSE);
- fail_unless (GST_BUFFER_SIZE (buffer) == 10);
+ fail_unless (gst_buffer_get_size (buffer) == 10);
/* FIXME, ideally we want to reuse these caps */
fail_unless (GST_BUFFER_CAPS (buffer) == incaps);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), incaps));
@@ -1267,7 +1267,7 @@ GST_START_TEST (basetransform_chain_ct3)
buffer = gst_test_trans_pop (trans);
fail_unless (buffer != NULL);
- fail_unless (GST_BUFFER_SIZE (buffer) == 20);
+ fail_unless (gst_buffer_get_size (buffer) == 20);
fail_unless (gst_caps_is_equal (GST_BUFFER_CAPS (buffer), outcaps));
/* output buffer has refcount 1 */