summaryrefslogtreecommitdiff
path: root/tests/check/gst/gstbuffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'tests/check/gst/gstbuffer.c')
-rw-r--r--tests/check/gst/gstbuffer.c33
1 files changed, 18 insertions, 15 deletions
diff --git a/tests/check/gst/gstbuffer.c b/tests/check/gst/gstbuffer.c
index 1ac9688e6..02b6142de 100644
--- a/tests/check/gst/gstbuffer.c
+++ b/tests/check/gst/gstbuffer.c
@@ -41,12 +41,14 @@ GST_START_TEST (test_subbuffer)
buffer = gst_buffer_new_and_alloc (4);
/* check sizes, buffer starts out empty */
+ GST_DEBUG ("1");
data = gst_buffer_map (buffer, &size, &maxsize, GST_MAP_WRITE);
fail_unless (size == 4, "buffer has wrong size");
fail_unless (maxsize >= 4, "buffer has wrong size");
memset (data, 0, 4);
gst_buffer_unmap (buffer, data, 4);
+ GST_DEBUG ("2");
data = gst_buffer_map (buffer, &size, NULL, GST_MAP_READ);
/* set some metadata */
GST_BUFFER_TIMESTAMP (buffer) = 1;
@@ -54,9 +56,11 @@ GST_START_TEST (test_subbuffer)
GST_BUFFER_OFFSET (buffer) = 3;
GST_BUFFER_OFFSET_END (buffer) = 4;
+ GST_DEBUG ("3");
sub = gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, 1, 2);
fail_if (sub == NULL, "copy region of buffer returned NULL");
+ GST_DEBUG ("4");
sdata = gst_buffer_map (sub, &ssize, NULL, GST_MAP_READ);
fail_unless (ssize == 2, "subbuffer has wrong size");
fail_unless (memcmp (data + 1, sdata, 2) == 0,
@@ -72,14 +76,12 @@ GST_START_TEST (test_subbuffer)
gst_buffer_unref (sub);
/* create a subbuffer of size 0 */
+ GST_DEBUG ("5");
sub = gst_buffer_copy_region (buffer, GST_BUFFER_COPY_ALL, 1, 0);
fail_if (sub == NULL, "copy_region of buffer returned NULL");
sdata = gst_buffer_map (sub, &ssize, NULL, GST_MAP_READ);
- fail_unless (ssize == 0, "subbuffer has wrong size");
- fail_unless (memcmp (data + 1, sdata, 0) == 0,
- "subbuffer contains the wrong data");
+ fail_unless (sdata == NULL, "subbuffer has wrong data");
ASSERT_BUFFER_REFCOUNT (sub, "subbuffer", 1);
- gst_buffer_unmap (sub, sdata, ssize);
gst_buffer_unref (sub);
/* test if metadata is coppied, not a complete buffer copy so only the
@@ -270,16 +272,18 @@ GST_START_TEST (test_make_writable)
/* alloc'ed buffer with refcount 1 should be writable */
buf = gst_buffer_new_and_alloc (32);
- buf2 = gst_buffer_make_writable (buf);
+ buf2 = gst_buffer_make_locked (buf, GST_LOCK_WRITE);
fail_unless (buf == buf2,
"_make_writable() should have returned same buffer");
+ gst_buffer_unlock (buf2);
gst_buffer_unref (buf2);
/* alloc'ed buffer with refcount >1 should be copied */
buf = gst_buffer_new_and_alloc (32);
gst_buffer_ref (buf);
- buf2 = gst_buffer_make_writable (buf);
+ buf2 = gst_buffer_make_locked (buf, GST_LOCK_WRITE);
fail_unless (buf != buf2, "_make_writable() should have returned a copy!");
+ gst_buffer_unlock (buf2);
gst_buffer_unref (buf2);
gst_buffer_unref (buf);
}
@@ -316,18 +320,18 @@ GST_START_TEST (test_metadata_writable)
GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DELTA_UNIT);
/* Buffer with refcount 1 should have writable metadata */
- fail_unless (gst_buffer_is_writable (buffer) == TRUE);
+ fail_unless (gst_buffer_try_lock (buffer, GST_LOCK_WRITE) == TRUE);
+ gst_buffer_unlock (buffer);
/* Check that a buffer with refcount 2 does not have writable metadata */
gst_buffer_ref (buffer);
ASSERT_BUFFER_REFCOUNT (buffer, "buffer", 2);
- fail_unless (gst_buffer_is_writable (buffer) == FALSE);
+ fail_unless (gst_buffer_try_lock (buffer, GST_LOCK_WRITE) == FALSE);
/* Check that make_metadata_writable produces a new sub-buffer with
* writable metadata. */
- sub1 = gst_buffer_make_writable (buffer);
+ sub1 = gst_buffer_make_locked (buffer, GST_LOCK_WRITE);
fail_if (sub1 == buffer);
- fail_unless (gst_buffer_is_writable (sub1) == TRUE);
/* Check that make_metadata_writable() maintains the buffer flags */
fail_unless (GST_BUFFER_FLAG_IS_SET (sub1, GST_BUFFER_FLAG_DISCONT));
@@ -342,10 +346,12 @@ GST_START_TEST (test_metadata_writable)
/* Drop the subbuffer and check that the metadata is now writable again */
ASSERT_BUFFER_REFCOUNT (sub1, "sub1", 1);
+ gst_buffer_unlock (sub1);
gst_buffer_unref (sub1);
- fail_unless (gst_buffer_is_writable (buffer) == TRUE);
+ fail_unless (gst_buffer_try_lock (buffer, GST_LOCK_WRITE) == TRUE);
ASSERT_BUFFER_REFCOUNT (buffer, "buffer", 1);
+ gst_buffer_unlock (buffer);
gst_buffer_unref (buffer);
}
@@ -382,14 +388,12 @@ GST_START_TEST (test_copy)
buffer = gst_buffer_new_and_alloc (0);
data = gst_buffer_map (buffer, &size, NULL, GST_MAP_READ);
fail_unless (data == NULL);
- gst_buffer_unmap (buffer, data, size);
/* copying a 0-sized buffer should not crash and also set
* the data member NULL. */
copy = gst_buffer_copy (buffer);
data = gst_buffer_map (copy, &size, NULL, GST_MAP_READ);
fail_unless (data == NULL);
- gst_buffer_unmap (copy, data, size);
gst_buffer_unref (copy);
gst_buffer_unref (buffer);
@@ -409,7 +413,6 @@ GST_START_TEST (test_try_new_and_alloc)
fail_unless (GST_IS_BUFFER (buf));
data = gst_buffer_map (buf, &size, NULL, GST_MAP_READ);
fail_unless (data == NULL);
- gst_buffer_unmap (buf, data, size);
gst_buffer_unref (buf);
/* normal alloc should still work */
@@ -456,7 +459,7 @@ GST_START_TEST (test_size)
fail_unless (offset == 0);
fail_unless (maxalloc >= 100);
- mem = gst_buffer_peek_memory (buf, 0, GST_MAP_WRITE);
+ mem = gst_buffer_peek_memory (buf, 0);
gst_memory_resize (mem, 10, 70);
size = gst_buffer_get_sizes (buf, &offset, &maxsize);