rtspsrc: create and push stream-start in TCP mode
authorWim Taymans <wim.taymans@collabora.co.uk>
Tue, 28 May 2013 13:45:49 +0000 (15:45 +0200)
committerWim Taymans <wim.taymans@collabora.co.uk>
Tue, 28 May 2013 13:45:49 +0000 (15:45 +0200)
gst/rtsp/gstrtspsrc.c

index 92465d5..067c914 100644 (file)
@@ -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;
   }