Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/GStreamer/gstreamer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'tests/check/gst/gstpad.c')
-rw-r--r--tests/check/gst/gstpad.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/check/gst/gstpad.c b/tests/check/gst/gstpad.c
index 3a4ee0d5d0..1b1afe6833 100644
--- a/tests/check/gst/gstpad.c
+++ b/tests/check/gst/gstpad.c
@@ -2699,11 +2699,13 @@ GST_START_TEST (test_last_flow_return_push)
/* initial value is flushing */
fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_FLUSHING);
+ fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_FLUSHING);
/* when active it goes to ok */
gst_pad_set_active (srcpad, TRUE);
fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
gst_pad_set_active (sinkpad, TRUE);
+ fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
/* startup events */
gst_pad_push_event (srcpad, gst_event_new_stream_start ("test"));
@@ -2715,11 +2717,13 @@ GST_START_TEST (test_last_flow_return_push)
next_return = GST_FLOW_OK;
fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_OK);
fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
+ fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
/* push not-linked */
next_return = GST_FLOW_NOT_LINKED;
fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_NOT_LINKED);
fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_NOT_LINKED);
+ fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_NOT_LINKED);
/* push not-linked */
next_return = GST_FLOW_NOT_NEGOTIATED;
@@ -2727,25 +2731,32 @@ GST_START_TEST (test_last_flow_return_push)
gst_buffer_new ()) == GST_FLOW_NOT_NEGOTIATED);
fail_unless (gst_pad_get_last_flow_return (srcpad) ==
GST_FLOW_NOT_NEGOTIATED);
+ fail_unless (gst_pad_get_last_flow_return (sinkpad) ==
+ GST_FLOW_NOT_NEGOTIATED);
/* push error */
next_return = GST_FLOW_ERROR;
fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_ERROR);
fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_ERROR);
+ fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_ERROR);
/* back to ok */
next_return = GST_FLOW_OK;
fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_OK);
fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
+ fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
/* unlinked push */
gst_pad_unlink (srcpad, sinkpad);
fail_unless (gst_pad_push (srcpad, gst_buffer_new ()) == GST_FLOW_NOT_LINKED);
fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_NOT_LINKED);
+ /* The last flow ret from the peer pad shouldn't have changed */
+ fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
gst_pad_link (srcpad, sinkpad);
fail_unless (gst_pad_push_event (srcpad, gst_event_new_eos ()));
fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_EOS);
+ fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_EOS);
gst_object_unref (srcpad);
gst_object_unref (sinkpad);
@@ -2784,17 +2795,20 @@ GST_START_TEST (test_last_flow_return_pull)
gst_pad_link (srcpad, sinkpad);
/* initial value is flushing */
+ fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_FLUSHING);
fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_FLUSHING);
/* when active it goes to ok */
gst_pad_set_active (sinkpad, TRUE);
fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
gst_pad_set_active (srcpad, TRUE);
+ fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
/* pull Ok */
next_return = GST_FLOW_OK;
fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_OK);
fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
+ fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
gst_buffer_unref (buf);
buf = NULL;
@@ -2802,11 +2816,13 @@ GST_START_TEST (test_last_flow_return_pull)
next_return = GST_FLOW_NOT_LINKED;
fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_NOT_LINKED);
fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_NOT_LINKED);
+ fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_NOT_LINKED);
/* pull error */
next_return = GST_FLOW_ERROR;
fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_ERROR);
fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_ERROR);
+ fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_ERROR);
/* pull not-nego */
next_return = GST_FLOW_NOT_NEGOTIATED;
@@ -2814,11 +2830,14 @@ GST_START_TEST (test_last_flow_return_pull)
&buf) == GST_FLOW_NOT_NEGOTIATED);
fail_unless (gst_pad_get_last_flow_return (sinkpad) ==
GST_FLOW_NOT_NEGOTIATED);
+ fail_unless (gst_pad_get_last_flow_return (srcpad) ==
+ GST_FLOW_NOT_NEGOTIATED);
/* pull ok again */
next_return = GST_FLOW_OK;
fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_OK);
fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_OK);
+ fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
gst_buffer_unref (buf);
buf = NULL;
@@ -2826,12 +2845,15 @@ GST_START_TEST (test_last_flow_return_pull)
gst_pad_unlink (srcpad, sinkpad);
fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_NOT_LINKED);
fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_NOT_LINKED);
+ /* Return value for the remote pad didn't change */
+ fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_OK);
/* eos */
gst_pad_link (srcpad, sinkpad);
next_return = GST_FLOW_EOS;
fail_unless (gst_pad_pull_range (sinkpad, 0, 1, &buf) == GST_FLOW_EOS);
fail_unless (gst_pad_get_last_flow_return (sinkpad) == GST_FLOW_EOS);
+ fail_unless (gst_pad_get_last_flow_return (srcpad) == GST_FLOW_EOS);
gst_object_unref (srcpad);
gst_object_unref (sinkpad);