summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2009-08-03 20:08:33 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2009-08-03 20:08:33 +0200
commita931c6759771a3942239c19cadeee3726508595d (patch)
treecd14f194f25addc2d13c28bac1f665ebcbd3915c
parent8b9d547c146cacab2e9eb713b167c295661fd3cf (diff)
flvmux: Fix unit test to correctly handle request pads
Request pads are removed by the element instance in PAUSED->READY so we need to re-request pads for every run and link them again. Last fix for bug #590447.
-rw-r--r--tests/check/elements/flvmux.c22
1 files changed, 13 insertions, 9 deletions
diff --git a/tests/check/elements/flvmux.c b/tests/check/elements/flvmux.c
index 58810717c..38bb6c1e0 100644
--- a/tests/check/elements/flvmux.c
+++ b/tests/check/elements/flvmux.c
@@ -50,7 +50,6 @@ static void
mux_pcm_audio (guint num_buffers, guint repeat)
{
GstElement *src, *sink, *flvmux, *pipeline;
- GstPad *sinkpad, *srcpad;
gint counter;
GST_LOG ("num_buffers = %u", num_buffers);
@@ -78,22 +77,27 @@ mux_pcm_audio (guint num_buffers, guint repeat)
gst_bin_add_many (GST_BIN (pipeline), src, flvmux, sink, NULL);
- /* now link the elements */
- sinkpad = gst_element_get_request_pad (flvmux, "audio");
- fail_unless (sinkpad != NULL, "Could not get audio request pad");
-
- srcpad = gst_element_get_static_pad (src, "src");
- fail_unless (srcpad != NULL, "Could not get audiotestsrc's source pad");
-
- fail_unless_equals_int (gst_pad_link (srcpad, sinkpad), GST_PAD_LINK_OK);
fail_unless (gst_element_link (flvmux, sink));
do {
GstStateChangeReturn state_ret;
GstMessage *msg;
+ GstPad *sinkpad, *srcpad;
GST_LOG ("repeat=%d", repeat);
+ /* now link the elements */
+ sinkpad = gst_element_get_request_pad (flvmux, "audio");
+ fail_unless (sinkpad != NULL, "Could not get audio request pad");
+
+ srcpad = gst_element_get_static_pad (src, "src");
+ fail_unless (srcpad != NULL, "Could not get audiotestsrc's source pad");
+
+ fail_unless_equals_int (gst_pad_link (srcpad, sinkpad), GST_PAD_LINK_OK);
+
+ gst_object_unref (srcpad);
+ gst_object_unref (sinkpad);
+
counter = 0;
state_ret = gst_element_set_state (pipeline, GST_STATE_PAUSED);