From 8442b7355238c9f7a91bbfe112e46e33f0812771 Mon Sep 17 00:00:00 2001 From: Thijs Vermeir Date: Sat, 21 Jun 2008 21:20:13 +0000 Subject: [PATCH] docs/libs/gstreamer-libs-sections.txt: Add new API to doc Original commit message from CVS: * docs/libs/gstreamer-libs-sections.txt: Add new API to doc * libs/gst/check/gstcheck.c: * libs/gst/check/gstcheck.h: API: gst_check_teardown_pad_by_name --- ChangeLog | 8 +++++ docs/libs/gstreamer-libs-sections.txt | 3 ++ libs/gst/check/gstcheck.c | 51 ++++++++++++--------------- libs/gst/check/gstcheck.h | 1 + 4 files changed, 34 insertions(+), 29 deletions(-) diff --git a/ChangeLog b/ChangeLog index f7ab8595fa..a473c682cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2008-06-21 Thijs Vermeir + + * docs/libs/gstreamer-libs-sections.txt: + Add new API to doc + * libs/gst/check/gstcheck.c: + * libs/gst/check/gstcheck.h: + API: gst_check_teardown_pad_by_name + 2008-06-21 Thijs Vermeir * libs/gst/check/gstcheck.c: diff --git a/docs/libs/gstreamer-libs-sections.txt b/docs/libs/gstreamer-libs-sections.txt index f656d8b708..655dee1d1a 100644 --- a/docs/libs/gstreamer-libs-sections.txt +++ b/docs/libs/gstreamer-libs-sections.txt @@ -521,6 +521,9 @@ gst_check_message_error gst_check_setup_element gst_check_setup_sink_pad gst_check_setup_src_pad +gst_check_setup_sink_pad_by_name +gst_check_setup_src_pad_by_name +gst_check_teardown_pad_by_name gst_check_teardown_element gst_check_teardown_sink_pad gst_check_teardown_src_pad diff --git a/libs/gst/check/gstcheck.c b/libs/gst/check/gstcheck.c index 0473719c5c..8862736390 100644 --- a/libs/gst/check/gstcheck.c +++ b/libs/gst/check/gstcheck.c @@ -297,29 +297,38 @@ gst_check_setup_src_pad_by_name (GstElement * element, } void -gst_check_teardown_src_pad (GstElement * element) +gst_check_teardown_pad_by_name (GstElement * element, gchar * name) { - GstPad *srcpad, *sinkpad; + GstPad *pad_peer, *pad_element; /* clean up floating src pad */ - sinkpad = gst_element_get_static_pad (element, "sink"); - ASSERT_OBJECT_REFCOUNT (sinkpad, "sinkpad", 2); - srcpad = gst_pad_get_peer (sinkpad); + pad_element = gst_element_get_static_pad (element, name); + ASSERT_OBJECT_REFCOUNT (pad_element, "pad", 2); + pad_peer = gst_pad_get_peer (pad_element); - gst_pad_unlink (srcpad, sinkpad); + if (gst_pad_get_direction (pad_element) == GST_PAD_SINK) + gst_pad_unlink (pad_peer, pad_element); + else + gst_pad_unlink (pad_element, pad_peer); /* caps could have been set, make sure they get unset */ - gst_pad_set_caps (srcpad, NULL); + gst_pad_set_caps (pad_peer, NULL); /* pad refs held by both creator and this function (through _get) */ - ASSERT_OBJECT_REFCOUNT (sinkpad, "element sinkpad", 2); - gst_object_unref (sinkpad); + ASSERT_OBJECT_REFCOUNT (pad_element, "element pad_element", 2); + gst_object_unref (pad_element); /* one more ref is held by element itself */ /* pad refs held by both creator and this function (through _get_peer) */ - ASSERT_OBJECT_REFCOUNT (srcpad, "check srcpad", 2); - gst_object_unref (srcpad); - gst_object_unref (srcpad); + ASSERT_OBJECT_REFCOUNT (pad_peer, "check pad_peer", 2); + gst_object_unref (pad_peer); + gst_object_unref (pad_peer); +} + +void +gst_check_teardown_src_pad (GstElement * element) +{ + gst_check_teardown_pad_by_name (element, "sink"); } /* FIXME: set_caps isn't that useful; might want to check if fixed, @@ -367,23 +376,7 @@ gst_check_setup_sink_pad_by_name (GstElement * element, void gst_check_teardown_sink_pad (GstElement * element) { - GstPad *srcpad, *sinkpad; - - /* clean up floating sink pad */ - srcpad = gst_element_get_static_pad (element, "src"); - sinkpad = gst_pad_get_peer (srcpad); - - gst_pad_unlink (srcpad, sinkpad); - - /* pad refs held by both creator and this function (through _get_pad) */ - ASSERT_OBJECT_REFCOUNT (srcpad, "element srcpad", 2); - gst_object_unref (srcpad); - /* one more ref is held by element itself */ - - /* pad refs held by both creator and this function (through _get_peer) */ - ASSERT_OBJECT_REFCOUNT (sinkpad, "check sinkpad", 2); - gst_object_unref (sinkpad); - gst_object_unref (sinkpad); + gst_check_teardown_pad_by_name (element, "src"); } /** diff --git a/libs/gst/check/gstcheck.h b/libs/gst/check/gstcheck.h index 435f1c5fd1..68f7810d58 100644 --- a/libs/gst/check/gstcheck.h +++ b/libs/gst/check/gstcheck.h @@ -77,6 +77,7 @@ GstPad * gst_check_setup_src_pad_by_name (GstElement * element, GstStaticPadTemplate * template, gchar *name); GstPad * gst_check_setup_sink_pad_by_name (GstElement * element, GstStaticPadTemplate * template, gchar *name); +void gst_check_teardown_pad_by_name (GstElement * element, gchar *name); void gst_check_teardown_src_pad (GstElement * element); void gst_check_drop_buffers (); void gst_check_caps_equal (GstCaps * caps1, GstCaps * caps2);