rtsp-stream: Emit a signal when the SRTP decoder is created
authorUlf Olsson <ulfo@axis.com>
Wed, 1 Feb 2017 08:44:50 +0000 (09:44 +0100)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 26 Jun 2018 13:38:33 +0000 (15:38 +0200)
https://bugzilla.gnome.org/show_bug.cgi?id=778080

gst/rtsp-server/rtsp-stream.c

index c886cf3..6e03a68 100644 (file)
@@ -191,6 +191,7 @@ enum
 {
   SIGNAL_NEW_RTP_ENCODER,
   SIGNAL_NEW_RTCP_ENCODER,
+  SIGNAL_NEW_RTP_RTCP_DECODER,
   SIGNAL_LAST
 };
 
@@ -246,6 +247,11 @@ gst_rtsp_stream_class_init (GstRTSPStreamClass * klass)
       G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_generic,
       G_TYPE_NONE, 1, GST_TYPE_ELEMENT);
 
+  gst_rtsp_stream_signals[SIGNAL_NEW_RTP_RTCP_DECODER] =
+      g_signal_new ("new-rtp-rtcp-decoder", G_TYPE_FROM_CLASS (klass),
+      G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_generic,
+      G_TYPE_NONE, 1, GST_TYPE_ELEMENT);
+
   GST_DEBUG_CATEGORY_INIT (rtsp_stream_debug, "rtspstream", 0, "GstRTSPStream");
 
   ssrc_stream_map_key = g_quark_from_static_string ("GstRTSPServer.stream");
@@ -2279,6 +2285,10 @@ request_rtp_rtcp_decoder (GstElement * rtpbin, guint session,
 
     g_signal_connect (priv->srtpdec, "request-key",
         (GCallback) request_key, stream);
+
+    g_signal_emit (stream, gst_rtsp_stream_signals[SIGNAL_NEW_RTP_RTCP_DECODER],
+        0, priv->srtpdec);
+
   }
   return gst_object_ref (priv->srtpdec);
 }