tests/check/gst/gstbuffer.c: Add test case for flags + gst_buffer_make_metadata_writable().

Original commit message from CVS:
* tests/check/gst/gstbuffer.c: (GST_START_TEST):
Add test case for flags + gst_buffer_make_metadata_writable().
This commit is contained in:
Tim-Philipp Müller 2006-05-09 13:23:06 +00:00
parent 6e44ba3958
commit bd97801195
2 changed files with 19 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
* tests/check/gst/gstbuffer.c: (GST_START_TEST):
Add test case for flags + gst_buffer_make_metadata_writable().
2006-05-09 Tim-Philipp Müller <tim at centricular dot net>
* gst/gstbuffer.c: (gst_buffer_make_metadata_writable):

View file

@ -273,6 +273,9 @@ GST_START_TEST (test_metadata_writable)
GstBuffer *buffer, *sub1;
buffer = gst_buffer_new_and_alloc (4);
GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DISCONT);
GST_BUFFER_FLAG_SET (buffer, GST_BUFFER_FLAG_DELTA_UNIT);
/* Buffer with refcount 1 should have writable metadata */
fail_unless (gst_buffer_is_metadata_writable (buffer) == TRUE);
@ -292,6 +295,17 @@ GST_START_TEST (test_metadata_writable)
ASSERT_BUFFER_REFCOUNT (buffer, "buffer", 2);
fail_unless (gst_buffer_is_metadata_writable (buffer) == FALSE);
/* Check that make_metadata_writable() maintains the buffer flags */
fail_unless (GST_BUFFER_FLAG_IS_SET (sub1, GST_BUFFER_FLAG_DISCONT));
fail_unless (GST_BUFFER_FLAG_IS_SET (sub1, GST_BUFFER_FLAG_DELTA_UNIT));
/* Unset flags on writable buffer, then make sure they're still
* set on the original buffer */
GST_BUFFER_FLAG_UNSET (sub1, GST_BUFFER_FLAG_DISCONT);
GST_BUFFER_FLAG_UNSET (sub1, GST_BUFFER_FLAG_DELTA_UNIT);
fail_unless (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DISCONT));
fail_unless (GST_BUFFER_FLAG_IS_SET (buffer, GST_BUFFER_FLAG_DELTA_UNIT));
/* Drop the subbuffer and check that the metadata is now writable again */
ASSERT_BUFFER_REFCOUNT (sub1, "sub1", 1);
gst_buffer_unref (sub1);