Add signal wfd-keep-alive-fail 71/49071/1
authorHyunjun Ko <zzoon.ko@samsung.com>
Tue, 6 Oct 2015 07:28:02 +0000 (16:28 +0900)
committerHyunjun Ko <zzoon.ko@samsung.com>
Tue, 6 Oct 2015 07:28:02 +0000 (16:28 +0900)
Change-Id: I1fc9770177412d8c36a6e91539ab5f945a8fae90

gst/rtsp-server/rtsp-client-wfd.c
gst/rtsp-server/rtsp-client-wfd.h

index bf87eb6..070b272 100644 (file)
@@ -147,6 +147,7 @@ enum
 {
   SIGNAL_WFD_OPTIONS_REQUEST,
   SIGNAL_WFD_GET_PARAMETER_REQUEST,
+  SIGNAL_WFD_KEEP_ALIVE_FAIL,
   SIGNAL_WFD_LAST
 };
 
@@ -244,6 +245,11 @@ gst_rtsp_wfd_client_class_init (GstRTSPWFDClientClass * klass)
           wfd_get_param_request), NULL, NULL, g_cclosure_marshal_VOID__POINTER,
       G_TYPE_NONE, 2, GST_TYPE_RTSP_WFD_CLIENT, GST_TYPE_RTSP_CONTEXT);
 
+  gst_rtsp_client_wfd_signals[SIGNAL_WFD_KEEP_ALIVE_FAIL] =
+      g_signal_new ("wfd-keep-alive-fail", G_TYPE_FROM_CLASS (klass), G_SIGNAL_RUN_LAST,
+      G_STRUCT_OFFSET (GstRTSPWFDClientClass, wfd_keep_alive_fail), NULL, NULL,
+      g_cclosure_marshal_generic, G_TYPE_NONE, 0, G_TYPE_NONE);
+
   klass->wfd_options_request = wfd_options_request_done;
   klass->wfd_get_param_request = wfd_get_param_request_done;
 
@@ -2383,7 +2389,10 @@ wfd_ckeck_keep_alive_response (gpointer userdata)
   }
   else {
     GST_INFO ("%p: source error notification", client);
-    // FIXME Do something here. Maybe emit some signal?
+
+    g_signal_emit (client,
+        gst_rtsp_client_wfd_signals[SIGNAL_WFD_KEEP_ALIVE_FAIL], 0,
+        NULL);
     return FALSE;
   }
 }
index 25d96de..425daaa 100644 (file)
@@ -111,6 +111,7 @@ struct _GstRTSPWFDClientClass {
   /* signals */
   void     (*wfd_options_request)         (GstRTSPWFDClient *client, GstRTSPContext *ctx);
   void     (*wfd_get_param_request)       (GstRTSPWFDClient *client, GstRTSPContext *ctx);
+  void     (*wfd_keep_alive_fail)         (GstRTSPWFDClient *client);
 
   /*< private >*/
   gpointer _gst_reserved[GST_PADDING_LARGE];