}
/**
- * gst_check_setup_events:
+ * gst_check_setup_events_with_stream_id:
* @srcpad: The src #GstPad to push on
* @element: The #GstElement use to create the stream id
* @caps: (allow-none): #GstCaps in case caps event must be sent
* @format: The #GstFormat of the default segment to send
+ * @stream_id: A unique identifier for the stream
*
- * Push stream-start, caps and segment event, which concist of the minimum required
- * events to allow streaming. Caps is optional to allow raw src testing.
+ * Push stream-start, caps and segment event, which concist of the minimum
+ * required events to allow streaming. Caps is optional to allow raw src
+ * testing.
*/
void
-gst_check_setup_events (GstPad * srcpad, GstElement * element,
- GstCaps * caps, GstFormat format)
+gst_check_setup_events_with_stream_id (GstPad * srcpad, GstElement * element,
+ GstCaps * caps, GstFormat format, const gchar * stream_id)
{
- gchar *stream_id;
GstSegment segment;
- stream_id = gst_pad_create_stream_id (srcpad, element, NULL);
gst_segment_init (&segment, format);
fail_unless (gst_pad_push_event (srcpad,
if (caps)
fail_unless (gst_pad_push_event (srcpad, gst_event_new_caps (caps)));
fail_unless (gst_pad_push_event (srcpad, gst_event_new_segment (&segment)));
+}
+/**
+ * gst_check_setup_events:
+ * @srcpad: The src #GstPad to push on
+ * @element: The #GstElement use to create the stream id
+ * @caps: (allow-none): #GstCaps in case caps event must be sent
+ * @format: The #GstFormat of the default segment to send
+ *
+ * Push stream-start, caps and segment event, which concist of the minimum
+ * required events to allow streaming. Caps is optional to allow raw src
+ * testing. If @element has more than one src or sink pad, use
+ * gst_check_setup_events_with_stream_id() instead.
+ */
+void
+gst_check_setup_events (GstPad * srcpad, GstElement * element,
+ GstCaps * caps, GstFormat format)
+{
+ gchar *stream_id;
+
+ stream_id = gst_pad_create_stream_id (srcpad, element, NULL);
+ gst_check_setup_events_with_stream_id (srcpad, element, caps, format,
+ stream_id);
g_free (stream_id);
}
const gchar * fname);
void gst_check_setup_events (GstPad * srcpad, GstElement * element,
GstCaps * caps, GstFormat format);
+void gst_check_setup_events_with_stream_id (GstPad * srcpad,
+ GstElement * element, GstCaps * caps, GstFormat format, const gchar * id);
#define fail_unless_message_error(msg, domain, code) \
gst_check_message_error (msg, GST_MESSAGE_ERROR, \
static void
setup_test_objects (struct TestData *td, GstPadChainFunction chain_func)
{
- GstSegment segment;
-
- gst_segment_init (&segment, GST_FORMAT_BYTES);
-
td->mycaps = gst_caps_new_empty_simple ("test/test");
td->funnel = gst_element_factory_make ("funnel", NULL);
td->mysrc1 = gst_pad_new ("src1", GST_PAD_SRC);
gst_pad_set_active (td->mysrc1, TRUE);
-
- gst_pad_push_event (td->mysrc1, gst_event_new_stream_start ("test"));
- gst_pad_set_caps (td->mysrc1, td->mycaps);
- gst_pad_push_event (td->mysrc1, gst_event_new_segment (&segment));
+ gst_check_setup_events_with_stream_id (td->mysrc1, td->funnel, td->mycaps,
+ GST_FORMAT_BYTES, "test1");
td->mysrc2 = gst_pad_new ("src2", GST_PAD_SRC);
gst_pad_set_active (td->mysrc2, TRUE);
- gst_pad_push_event (td->mysrc2, gst_event_new_stream_start ("test"));
- gst_pad_set_caps (td->mysrc2, td->mycaps);
- gst_pad_push_event (td->mysrc2, gst_event_new_segment (&segment));
+ gst_check_setup_events_with_stream_id (td->mysrc2, td->funnel, td->mycaps,
+ GST_FORMAT_BYTES, "test2");
fail_unless (GST_PAD_LINK_SUCCESSFUL (gst_pad_link (td->funnelsrc,
td->mysink)));