buffer: more fixes
authorWim Taymans <wim.taymans@collabora.co.uk>
Mon, 28 Mar 2011 13:52:17 +0000 (15:52 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Mon, 28 Mar 2011 18:08:47 +0000 (20:08 +0200)
gst/gstbuffer.c
gst/gstbuffer.h
libs/gst/check/Makefile.am
libs/gst/check/gstcheck.c
libs/gst/check/gstcheck.h
win32/common/libgstreamer.def

index 86ced8557ab6d2eaf75c2adde7cfe52dfc901e8f..0e8f7ecf70d18f632b5322849d1555610a992e5c 100644 (file)
@@ -705,11 +705,12 @@ gst_buffer_unmap (GstBuffer * buffer, gpointer data, gsize size)
  * Copy @size bytes fro @src to @buffer at @offset.
  */
 void
-gst_buffer_fill (GstBuffer * buffer, gsize offset, gpointer src, gsize size)
+gst_buffer_fill (GstBuffer * buffer, gsize offset, gconstpointer src,
+    gsize size)
 {
   GPtrArray *arr = (GPtrArray *) buffer->memory;
   gsize i, len;
-  guint8 *ptr = src;
+  const guint8 *ptr = src;
 
   len = arr->len;
 
index 99d4be18d06a0451dbe3ca84c686fcd3328a3771..eaba4469d96d44143c13163c0cc822c6a65b2b82 100644 (file)
@@ -301,7 +301,7 @@ GstMemory * gst_buffer_peek_memory       (GstBuffer *buffer, guint idx);
 void        gst_buffer_remove_memory     (GstBuffer *buffer, guint idx);
 
 void        gst_buffer_fill              (GstBuffer *buffer, gsize offset,
-                                          gpointer src, gsize size);
+                                          gconstpointer src, gsize size);
 void        gst_buffer_extract           (GstBuffer *buffer, gsize offset,
                                           gpointer dest, gsize size);
 
index 567c3a2b046660f527ad5e123aa4a86b9ae32c4e..6a08d656345d9a3b8bfe7222efeecdbfe4d7e178 100644 (file)
@@ -67,6 +67,7 @@ LIBGSTCHECK_EXPORTED_FUNCS = \
        gst_buffer_straw_stop_pipeline \
        gst_check_abi_list \
        gst_check_caps_equal \
+       gst_check_buffer_data \
        gst_check_chain_func \
        gst_check_drop_buffers \
        gst_check_element_push_buffer \
index ca8e0f3e91a3b848d7f72b7e9f67804f8fb23056..bcadbd6b4f958d1302d45867a1548b0e8eec8aab 100644 (file)
@@ -366,6 +366,26 @@ gst_check_caps_equal (GstCaps * caps1, GstCaps * caps2)
   g_free (name2);
 }
 
+
+/**
+ * gst_check_buffer_data:
+ * @buffer: buffer to compare
+ * @data: data to compare to
+ * @size: size of data to compare
+ *
+ * Compare the buffer contents with @data and @size.
+ */
+void
+gst_check_buffer_data (GstBuffer * buffer, gconstpointer data, gsize size)
+{
+  guint8 *bdata;
+  gsize bsize;
+
+  bdata = gst_buffer_map (buffer, &bsize, NULL, GST_MAP_READ);
+  fail_unless (memcmp (bdata, data, size) == 0, "buffer contents not equal");
+  gst_buffer_unmap (buffer, bdata, bsize);
+}
+
 /**
  * gst_check_element_push_buffer_list:
  * @element_name: name of the element that needs to be created
index b746371722c29f8af5f53b42e2ab4f56883635c7..5c604adbb8c7e4ccc418b8acce1ab31c2acf596a 100644 (file)
@@ -81,6 +81,7 @@ void gst_check_teardown_pad_by_name (GstElement * element, const gchar *name);
 void gst_check_teardown_src_pad (GstElement * element);
 void gst_check_drop_buffers (void);
 void gst_check_caps_equal (GstCaps * caps1, GstCaps * caps2);
+void gst_check_buffer_data (GstBuffer * buffer, gconstpointer data, gsize size);
 void gst_check_element_push_buffer_list (const gchar * element_name,
     GList * buffer_in, GList * buffer_out, GstFlowReturn last_flow_return);
 void gst_check_element_push_buffer (const gchar * element_name,
index bf6d3d6f29a67cb528b6e948144a7d709d3982e7..6ffaf14a68532270c53210752f31cbff80f3aa59 100644 (file)
@@ -94,6 +94,7 @@ EXPORTS
        gst_buffer_copy_into
        gst_buffer_create_sub
        gst_buffer_extract
+       gst_buffer_fill
        gst_buffer_flag_get_type
        gst_buffer_get_caps
        gst_buffer_get_meta
@@ -138,6 +139,7 @@ EXPORTS
        gst_buffer_remove_memory
        gst_buffer_remove_meta
        gst_buffer_set_caps
+       gst_buffer_set_size
        gst_buffer_span
        gst_buffer_take_memory
        gst_buffer_try_new_and_alloc