summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: aa8b8b5)
raw | patch | inline | side by side (parent: aa8b8b5)
author | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | |
Thu, 27 May 2010 13:10:34 +0000 (15:10 +0200) | ||
committer | Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> | |
Thu, 27 May 2010 13:10:34 +0000 (15:10 +0200) |
tests/check/libs/adapter.c | patch | blob | history |
index 34cef23807b586e74e7ca993cfc9cb519f3094c0..e5a371ead8b2966e813fa8e8637baabd6e378103 100644 (file)
*/
GST_START_TEST (test_take3)
{
+ GstAdapter *adapter;
+ GstBuffer *buffer, *buffer2;
+ guint avail;
+ guint8 *data, *data2;
+
+ 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);
+
+ /* set up and push subbuffers */
+ buffer2 = gst_buffer_create_sub (buffer, 0, 25);
+ gst_adapter_push (adapter, buffer2);
+ buffer2 = gst_buffer_create_sub (buffer, 25, 25);
+ gst_adapter_push (adapter, buffer2);
+ buffer2 = gst_buffer_create_sub (buffer, 50, 25);
+ gst_adapter_push (adapter, buffer2);
+ buffer2 = gst_buffer_create_sub (buffer, 75, 25);
+ gst_adapter_push (adapter, buffer2);
+
+ gst_buffer_unref (buffer);
+
+ avail = gst_adapter_available (adapter);
+ fail_unless (avail == 100);
+
+ /* 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);
+
+ avail = gst_adapter_available (adapter);
+ fail_unless (avail == 0);
+
+ /* the data should be the same */
+ fail_unless (data == data2);
+
+ gst_buffer_unref (buffer2);
+
+ g_object_unref (adapter);
}
GST_END_TEST;