==2988== 1,343 (20 direct, 1,323 indirect) bytes in 1 blocks are definitely lost in loss record 3,167 of 3,240 ==2988== at 0x4020B74: calloc (vg_replace_malloc.c:391) ==2988== by 0x41BF22D: g_malloc0 (gmem.c:150) ==2988== by 0x40F7C9A: gst_structure_id_empty_new_with_size (gststructure.c:115) ==2988== by 0x40F81F5: gst_structure_new_valist (gststructure.c:206) ==2988== by 0x40F8271: gst_structure_new (gststructure.c:179) ==2988== by 0x40D2BDD: gst_event_new_new_segment_full (gstevent.c:541) ==2988== by 0x4051C56: gst_base_src_perform_seek (gstbasesrc.c:1225) ==2988== by 0x40520DC: gst_base_src_activate_push (gstbasesrc.c:2377) ==2988== by 0x40E870E: gst_pad_activate_push (gstpad.c:886) ==2988== by 0x40E8BF4: gst_pad_activate_default (gstpad.c:559) ==2988== by 0x40E8CBB: gst_pad_set_active (gstpad.c:648) ==2988== by 0x40CF40A: activate_pads (gstelement.c:2491) ==2988== by 0x40DC366: gst_iterator_fold (gstiterator.c:503) ==2988== by 0x40CEE81: iterator_activate_fold_with_resync (gstelement.c:2523) ==2988== by 0x40CEF1D: gst_element_pads_activate (gstelement.c:2559) ==2988== by 0x40CF2B5: gst_element_change_state_func (gstelement.c:2633) ==2988== by 0x4053DCE: gst_base_src_change_state (gstbasesrc.c:2514) ==2988== by 0x40CB9B8: gst_element_change_state (gstelement.c:2407) ==2988== by 0x40CBE18: gst_element_set_state_func (gstelement.c:2357) ==2988== by 0x40CAA02: gst_element_set_state (gstelement.c:2263) ==2988== by 0x40BE3D2: gst_bin_change_state_func (gstbin.c:1919) ==2988== by 0x40EBB56: gst_pipeline_change_state (gstpipeline.c:466) ==2988== by 0x40CB9B8: gst_element_change_state (gstelement.c:2407) ==2988== by 0x40CBE18: gst_element_set_state_func (gstelement.c:2357) ==2988== by 0x40CAA02: gst_element_set_state (gstelement.c:2263) ==2988== by 0x80493A4: test_caps (caps.c:164) ==2988== by 0x4071490: srunner_run_all (check_run.c:435) ==2988== by 0x4067B69: gst_check_run_suite (gstcheck.c:327) ==2988== by 0x8049188: main (caps.c:193) 100%: Checks: 1, Failures: 0, Errors: 0 GST_START_TEST (test_caps) { GstElement *element, *pipe, *peer; GList *e; GstStateChangeReturn sc_ret; GstIterator *pad_iter; GstPad *pad; gboolean pads_done; for (e = elements; e; e = e->next) { const gchar *name = e->data; GST_INFO ("testing element %s", name); element = gst_element_factory_make (name, name); fail_if (element == NULL, "Could not make element from factory %s", name); if (GST_IS_BIN (element)) { GST_DEBUG ("element %s is a container element, skipping", name); gst_object_unref (GST_OBJECT (element)); continue; } pipe = gst_element_factory_make ("pipeline", NULL); fail_if (pipe == NULL, "Could not make element from factory pipeline"); gst_bin_add (GST_BIN (pipe), element); pad_iter=gst_element_iterate_pads(element); pads_done=FALSE; while (!pads_done) { switch (gst_iterator_next (pad_iter, (gpointer)&pad)) { case GST_ITERATOR_OK: if (gst_pad_get_direction(pad) == GST_PAD_SINK) { peer = gst_element_factory_make ("fakesrc", NULL); fail_if (peer == NULL, "Could not make element from factory fakesrc"); gst_bin_add (GST_BIN (pipe), peer); gst_element_link (peer, element); } else { peer = gst_element_factory_make ("fakesink", NULL); fail_if (peer == NULL, "Could not make element from factory fakesink"); gst_bin_add (GST_BIN (pipe), peer); gst_element_link (element, peer); } gst_object_unref(pad); break; case GST_ITERATOR_RESYNC: gst_iterator_resync (pad_iter); break; case GST_ITERATOR_ERROR: case GST_ITERATOR_DONE: pads_done = TRUE; break; } } gst_iterator_free(pad_iter); sc_ret = gst_element_set_state (pipe, GST_STATE_READY); fail_if (sc_ret == GST_STATE_CHANGE_FAILURE, "failed to change state from NULL to READY"); sc_ret = gst_element_set_state (pipe, GST_STATE_PAUSED); fail_if (sc_ret == GST_STATE_CHANGE_FAILURE, "failed to change state from READY to PAUSED"); sc_ret = gst_element_set_state (pipe, GST_STATE_PLAYING); fail_if (sc_ret == GST_STATE_CHANGE_FAILURE, "failed to change state from PAUSED to PLAYING"); sc_ret = gst_element_set_state (pipe, GST_STATE_PAUSED); fail_if (sc_ret == GST_STATE_CHANGE_FAILURE, "failed to change state from PLAYING to PAUSED"); sc_ret = gst_element_set_state (pipe, GST_STATE_READY); fail_if (sc_ret == GST_STATE_CHANGE_FAILURE, "failed to change state from PAUSED to READY"); sc_ret = gst_element_set_state (pipe, GST_STATE_NULL); fail_if (sc_ret == GST_STATE_CHANGE_FAILURE, "failed to change state from READY to NULL"); gst_object_unref (GST_OBJECT (pipe)); } } GST_END_TEST;