diff options
Diffstat (limited to 'tests/check/gst/gstbuffer.c')
-rw-r--r-- | tests/check/gst/gstbuffer.c | 33 |
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); |