#include #define ITERS 100000 #include #include "mem.h" static GstElement* create_element (gchar *padname, GstPadDirection dir) { GstElement *element; GstPad *pad; element = gst_element_new (); pad = gst_pad_new (padname, dir); gst_element_add_pad (element, pad); return element; } int main (int argc, gchar *argv[]) { GstElement *element; GstElement *element2; GstPad *pad; long usage1; gint i, iters; gst_init (&argc, &argv); if (argc == 2) iters = atoi (argv[1]); else iters = ITERS; g_print ("starting element with pad test with %d iterations\n", iters); usage1 = vmsize(); element = create_element ("sink", GST_PAD_SINK); pad = gst_element_get_pad (element, "sink"); g_assert (GST_OBJECT_FLOATING (element)); g_assert (!GST_OBJECT_FLOATING (pad)); g_assert (gst_pad_get_parent (pad) == element); gst_object_unref (GST_OBJECT (element)); g_print ("create/addpad/unref new element %ld\n", vmsize()-usage1); for (i=0; i