rtspsrc: send sender SSRC in the MIKEY message
authorWim Taymans <wtaymans@redhat.com>
Thu, 3 Apr 2014 15:40:01 +0000 (17:40 +0200)
committerWim Taymans <wtaymans@redhat.com>
Thu, 3 Apr 2014 15:40:01 +0000 (17:40 +0200)
Allocate a new SSRC for our RTCP messages back to the server and set
this in the MIKEY message.

gst/rtsp/gstrtspsrc.c
gst/rtsp/gstrtspsrc.h

index 5d1cc358d2860d39220b3ece4948929a058498fe..7a378aacdd0be79640e99c8e2d9463aae798dcce 100644 (file)
@@ -3155,6 +3155,8 @@ gst_rtspsrc_stream_configure_manager (GstRTSPSrc * src, GstRTSPStream * stream,
 
         g_object_set (rtpsession, "probation", src->probation, NULL);
 
+        g_object_set (rtpsession, "internal-ssrc", stream->send_ssrc, NULL);
+
         g_signal_connect (rtpsession, "on-bye-ssrc", (GCallback) on_bye_ssrc,
             stream);
         g_signal_connect (rtpsession, "on-bye-timeout", (GCallback) on_timeout,
@@ -5829,7 +5831,8 @@ gst_rtspsrc_stream_make_keymgmt (GstRTSPSrc * src, GstRTSPStream * stream)
   gst_mikey_message_set_info (msg, GST_MIKEY_VERSION, GST_MIKEY_TYPE_PSK_INIT,
       FALSE, GST_MIKEY_PRF_MIKEY_1, g_random_int (), GST_MIKEY_MAP_TYPE_SRTP);
   /* add policy '0' for our SSRC */
-  gst_mikey_message_add_cs_srtp (msg, 0, stream->ssrc, 0);
+  stream->send_ssrc = g_random_int ();
+  gst_mikey_message_add_cs_srtp (msg, 0, stream->send_ssrc, 0);
   /* timestamp is now */
   gst_mikey_message_add_t_now_ntp_utc (msg);
   /* add some random data */
index 67df852c9cec46b4015742c0f0a9d9ef1f9e0751..f38f6fcee6566f2076b104b3cedf4ccc43aa2578 100644 (file)
@@ -139,6 +139,7 @@ struct _GstRTSPStream {
   GstElement   *srtpdec;
   GstBuffer    *key;
   GstElement   *srtpenc;
+  guint32       send_ssrc;
 
   /* per stream connection */
   GstRTSPConnInfo  conninfo;