/**
* gst_rtsp_media_prepare:
* @media: a #GstRTSPMedia
+ * @context: a #GMainContext to run the bus handler or %NULL
*
* Prepare @media for streaming. This function will create the objects
* to manage the streaming. A pipeline must have been set on @media with
* Returns: %TRUE on success.
*/
gboolean
-gst_rtsp_media_prepare (GstRTSPMedia * media)
+gst_rtsp_media_prepare (GstRTSPMedia * media, GMainContext * context)
{
GstRTSPMediaPrivate *priv;
GstStateChangeReturn ret;
g_object_ref (media), (GDestroyNotify) watch_destroyed);
klass = GST_RTSP_MEDIA_GET_CLASS (media);
- priv->id = g_source_attach (priv->source, klass->context);
+ priv->id = g_source_attach (priv->source, context ? context : klass->context);
/* add stuff to the bin */
gst_bin_add (GST_BIN (priv->pipeline), priv->rtpbin);
/* fails, need to be prepared */
fail_if (gst_rtsp_media_seek (media, range));
- fail_unless (gst_rtsp_media_prepare (media));
+ fail_unless (gst_rtsp_media_prepare (media, NULL));
str = gst_rtsp_media_get_range_string (media, FALSE, GST_RTSP_RANGE_NPT);
fail_unless (g_str_equal (str, "npt=0-"));
fail_unless (GST_IS_RTSP_MEDIA (media));
fail_unless (gst_rtsp_media_n_streams (media) == 1);
- fail_unless (gst_rtsp_media_prepare (media));
+ fail_unless (gst_rtsp_media_prepare (media, NULL));
fail_unless (gst_rtsp_media_unprepare (media));
fail_unless (gst_rtsp_media_n_streams (media) == 1);
- fail_if (gst_rtsp_media_prepare (media));
+ fail_if (gst_rtsp_media_prepare (media, NULL));
g_object_unref (media);
gst_rtsp_url_free (url);
g_object_set (G_OBJECT (media), "reusable", TRUE, NULL);
- fail_unless (gst_rtsp_media_prepare (media));
+ fail_unless (gst_rtsp_media_prepare (media, NULL));
fail_unless (gst_rtsp_media_unprepare (media));
fail_unless (gst_rtsp_media_n_streams (media) == 1);
- fail_unless (gst_rtsp_media_prepare (media));
+ fail_unless (gst_rtsp_media_prepare (media, NULL));
fail_unless (gst_rtsp_media_unprepare (media));
g_object_unref (media);
g_signal_connect (srcpad, "notify::caps", (GCallback) on_notify_caps, pay);
fail_unless (gst_rtsp_media_n_streams (media) == 0);
- fail_unless (gst_rtsp_media_prepare (media));
+ fail_unless (gst_rtsp_media_prepare (media, NULL));
fail_unless (gst_rtsp_media_n_streams (media) == 1);
fail_unless (gst_rtsp_media_unprepare (media));
fail_unless (gst_rtsp_media_n_streams (media) == 0);
fail_unless (gst_rtsp_media_n_streams (media) == 0);
- fail_unless (gst_rtsp_media_prepare (media));
+ fail_unless (gst_rtsp_media_prepare (media, NULL));
fail_unless (gst_rtsp_media_n_streams (media) == 1);
fail_unless (gst_rtsp_media_unprepare (media));
fail_unless (gst_rtsp_media_n_streams (media) == 0);