From 80850df7110c7871567aa43852f412b7c84b20ee Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Tue, 28 May 2013 15:45:49 +0200 Subject: [PATCH] rtspsrc: create and push stream-start in TCP mode --- gst/rtsp/gstrtspsrc.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 92465d50c9..067c91489d 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -3871,6 +3871,22 @@ gst_rtspsrc_loop_interleaved (GstRTSPSrc * src) channel); if (src->need_activate) { + gchar *stream_id; + GstEvent *event; + GChecksum *cs; + gchar *uri; + + /* generate an SHA256 sum of the URI */ + cs = g_checksum_new (G_CHECKSUM_SHA256); + uri = src->conninfo.location; + g_checksum_update (cs, (const guchar *) uri, strlen (uri)); + stream_id = + g_strdup_printf ("%s/%d", g_checksum_get_string (cs), stream->id); + g_checksum_free (cs); + event = gst_event_new_stream_start (stream_id); + g_free (stream_id); + gst_rtspsrc_push_event (src, event); + gst_rtspsrc_activate_streams (src); src->need_activate = FALSE; }