From: Mark Nauwelaerts Date: Fri, 29 Jun 2012 14:37:05 +0000 (+0200) Subject: tests: gstbuffer: extend buffer copy test X-Git-Tag: RELEASE-0.11.93~197 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0f69f9e44adf0a64224ac345f41c5fb8d9e29321;p=platform%2Fupstream%2Fgstreamer.git tests: gstbuffer: extend buffer copy test ... to check for independence of copied buffer. --- diff --git a/tests/check/gst/gstbuffer.c b/tests/check/gst/gstbuffer.c index 1344e13..404d3cd 100644 --- a/tests/check/gst/gstbuffer.c +++ b/tests/check/gst/gstbuffer.c @@ -335,6 +335,33 @@ GST_START_TEST (test_copy) gst_buffer_unref (copy); gst_buffer_unref (buffer); + + /* check if copy is an independent copy when written to */ + buffer = gst_buffer_new_and_alloc (4); + gst_buffer_memset (buffer, 0, 0, 4); + copy = gst_buffer_copy (buffer); + fail_unless (gst_buffer_is_writable (copy)); + gst_buffer_memset (copy, 0, 0x80, 4); + gst_buffer_map (buffer, &info, GST_MAP_READ); + fail_if (gst_buffer_memcmp (copy, 0, info.data, info.size) == 0); + gst_buffer_unmap (buffer, &info); + + gst_buffer_unref (copy); + gst_buffer_unref (buffer); + + /* check if a writable clone of a buffer is independent when written to */ + buffer = gst_buffer_new_and_alloc (4); + gst_buffer_memset (buffer, 0, 0, 4); + copy = gst_buffer_ref (buffer); + copy = gst_buffer_make_writable (copy); + fail_unless (gst_buffer_is_writable (copy)); + gst_buffer_memset (copy, 0, 0x80, 4); + gst_buffer_map (buffer, &info, GST_MAP_READ); + fail_if (gst_buffer_memcmp (copy, 0, info.data, info.size) == 0); + gst_buffer_unmap (buffer, &info); + + gst_buffer_unref (copy); + gst_buffer_unref (buffer); } GST_END_TEST;