summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian.droege@collabora.co.uk>2013-05-15 11:37:14 +0200
committerSebastian Dröge <sebastian.droege@collabora.co.uk>2013-05-15 11:37:14 +0200
commit366339e4b2ef5a460838f4df982020562bbf36f2 (patch)
tree1ed4c9910f0dcb9292ad30abfba70197f9b56899 /tests
parent14cd3a0dc40cbf05dce19b11ef7b32f0beaa4838 (diff)
downloadgstreamer-plugins-bad-366339e4b2ef5a460838f4df982020562bbf36f2.tar.gz
mpegtsmux: Fix event handling in unit test
Diffstat (limited to 'tests')
-rw-r--r--tests/check/elements/mpegtsmux.c58
1 files changed, 18 insertions, 40 deletions
diff --git a/tests/check/elements/mpegtsmux.c b/tests/check/elements/mpegtsmux.c
index 7c979bd6f..d0d666a83 100644
--- a/tests/check/elements/mpegtsmux.c
+++ b/tests/check/elements/mpegtsmux.c
@@ -54,7 +54,7 @@ static GstPad *mysrcpad, *mysinkpad;
/* setup and teardown needs some special handling for muxer */
static GstPad *
setup_src_pad (GstElement * element,
- GstStaticPadTemplate * template, GstCaps * caps, const gchar * sinkname,
+ GstStaticPadTemplate * template, const gchar * sinkname,
gchar ** padname)
{
GstPad *srcpad, *sinkpad;
@@ -71,8 +71,6 @@ setup_src_pad (GstElement * element,
GST_ELEMENT_NAME (element));
/* references are owned by: 1) us, 2) tsmux, 3) collect pads */
ASSERT_OBJECT_REFCOUNT (sinkpad, "sinkpad", 3);
- if (caps)
- fail_unless (gst_pad_set_caps (srcpad, caps));
fail_unless (gst_pad_link (srcpad, sinkpad) == GST_PAD_LINK_OK,
"Could not link source and %s sink pads", GST_ELEMENT_NAME (element));
gst_object_unref (sinkpad); /* because we got it higher up */
@@ -122,7 +120,7 @@ setup_tsmux (GstStaticPadTemplate * srctemplate, const gchar * sinkname,
GST_DEBUG ("setup_tsmux");
mux = gst_check_setup_element ("mpegtsmux");
- mysrcpad = setup_src_pad (mux, srctemplate, NULL, sinkname, padname);
+ mysrcpad = setup_src_pad (mux, srctemplate, sinkname, padname);
mysinkpad = gst_check_setup_sink_pad (mux, &sink_template);
gst_pad_set_active (mysrcpad, TRUE);
gst_pad_set_active (mysinkpad, TRUE);
@@ -155,19 +153,15 @@ check_tsmux_pad (GstStaticPadTemplate * srctemplate,
gint i;
gint pmt_pid = -1, el_pid = -1, pcr_pid = -1, packets = 0;
gchar *padname;
- GstSegment segment;
mux = setup_tsmux (srctemplate, sinkname, &padname);
fail_unless (gst_element_set_state (mux,
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
"could not set to playing");
- gst_segment_init (&segment, GST_FORMAT_TIME);
- fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment)));
-
inbuffer = gst_buffer_new_and_alloc (1);
caps = gst_caps_from_string (src_caps_string);
- gst_pad_set_caps (mysrcpad, caps);
+ gst_check_setup_events (mysrcpad, mux, caps, GST_FORMAT_TIME);
gst_caps_unref (caps);
GST_BUFFER_TIMESTAMP (inbuffer) = 0;
ASSERT_BUFFER_REFCOUNT (inbuffer, "inbuffer", 1);
@@ -425,16 +419,25 @@ link_src (GstElement * mpegtsmux, GstPad ** sink, TestData * test_data)
static void
setup_caps (GstElement * mpegtsmux, GstPad * src1, GstPad * src2, GstPad * src3)
{
+ GstSegment segment;
GstCaps *caps;
+ gst_segment_init (&segment, GST_FORMAT_TIME);
+
caps = gst_caps_new_simple ("video/x-h264",
"stream-format", G_TYPE_STRING, "byte-stream", NULL);
- gst_pad_set_caps (src1, caps);
- gst_pad_set_caps (src2, caps);
+ gst_pad_push_event (src1, gst_event_new_stream_start ("1"));
+ gst_pad_push_event (src1, gst_event_new_caps (caps));
+ gst_pad_push_event (src1, gst_event_new_segment (&segment));
+ gst_pad_push_event (src2, gst_event_new_stream_start ("2"));
+ gst_pad_push_event (src2, gst_event_new_caps (caps));
+ gst_pad_push_event (src2, gst_event_new_segment (&segment));
gst_caps_unref (caps);
caps = gst_caps_new_simple ("audio/mpeg", "mpegversion", G_TYPE_INT, 4,
"stream-format", G_TYPE_STRING, "raw", NULL);
- gst_pad_set_caps (src3, caps);
+ gst_pad_push_event (src3, gst_event_new_stream_start ("3"));
+ gst_pad_push_event (src3, gst_event_new_caps (caps));
+ gst_pad_push_event (src3, gst_event_new_segment (&segment));
gst_caps_unref (caps);
}
@@ -475,8 +478,6 @@ GST_START_TEST (test_force_key_unit_event_downstream)
gint count = 0;
ThreadData *thread_data_1, *thread_data_2, *thread_data_3, *thread_data_4;
TestData test_data = { 0, };
- GstSegment segment;
- GstEvent *event;
mpegtsmux = gst_check_setup_element ("mpegtsmux");
@@ -485,15 +486,6 @@ GST_START_TEST (test_force_key_unit_event_downstream)
gst_element_set_state (mpegtsmux, GST_STATE_PLAYING);
setup_caps (mpegtsmux, src1, src2, src3);
- /* send segment info */
- gst_segment_init (&segment, GST_FORMAT_TIME);
- event = gst_event_new_segment (&segment);
- fail_unless (gst_pad_push_event (src1, event));
- event = gst_event_new_segment (&segment);
- fail_unless (gst_pad_push_event (src2, event));
- event = gst_event_new_segment (&segment);
- fail_unless (gst_pad_push_event (src3, event));
-
/* send a force-key-unit event with running_time=2s */
timestamp = stream_time = running_time = 2 * GST_SECOND;
sink_event = gst_video_event_new_downstream_force_key_unit (timestamp,
@@ -542,13 +534,12 @@ GST_START_TEST (test_force_key_unit_event_upstream)
GstPad *src1;
GstPad *src2;
GstPad *src3;
- GstEvent *event;
GstClockTime timestamp, stream_time, running_time;
gboolean all_headers = TRUE;
gint count = 0;
TestData test_data = { 0, };
ThreadData *thread_data_1, *thread_data_2, *thread_data_3, *thread_data_4;
- GstSegment segment;
+ GstEvent * event;
mpegtsmux = gst_check_setup_element ("mpegtsmux");
@@ -557,15 +548,6 @@ GST_START_TEST (test_force_key_unit_event_upstream)
gst_element_set_state (mpegtsmux, GST_STATE_PLAYING);
setup_caps (mpegtsmux, src1, src2, src3);
- /* send segment info */
- gst_segment_init (&segment, GST_FORMAT_TIME);
- event = gst_event_new_segment (&segment);
- fail_unless (gst_pad_push_event (src1, event));
- event = gst_event_new_segment (&segment);
- fail_unless (gst_pad_push_event (src2, event));
- event = gst_event_new_segment (&segment);
- fail_unless (gst_pad_push_event (src3, event));
-
/* send an upstream force-key-unit event with running_time=2s */
timestamp = stream_time = running_time = 2 * GST_SECOND;
event =
@@ -636,7 +618,6 @@ GST_START_TEST (test_propagate_flow_status)
{
GstElement *mux;
gchar *padname;
- GstSegment segment;
GstBuffer *inbuffer;
GstCaps *caps;
guint i;
@@ -652,11 +633,8 @@ GST_START_TEST (test_propagate_flow_status)
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
"could not set to playing");
- gst_segment_init (&segment, GST_FORMAT_TIME);
- fail_unless (gst_pad_push_event (mysrcpad, gst_event_new_segment (&segment)));
-
caps = gst_caps_from_string (VIDEO_CAPS_STRING);
- gst_pad_set_caps (mysrcpad, caps);
+ gst_check_setup_events (mysrcpad, mux, caps, GST_FORMAT_TIME);
gst_caps_unref (caps);
for (i = 0; i < G_N_ELEMENTS (expected); ++i) {
@@ -703,7 +681,7 @@ GST_START_TEST (test_multiple_state_change)
gst_segment_init (&segment, GST_FORMAT_TIME);
caps = gst_caps_from_string (VIDEO_CAPS_STRING);
- gst_pad_set_caps (mysrcpad, caps);
+ gst_check_setup_events (mysrcpad, mux, caps, GST_FORMAT_TIME);
gst_caps_unref (caps);
for (i = 0; i < num_transitions_to_test; ++i) {