client: makes handle_play_request inheritable 75/53275/1
authorHyunjun Ko <zzoon.ko@samsung.com>
Thu, 3 Dec 2015 08:51:02 +0000 (17:51 +0900)
committerHyunjun Ko <zzoon.ko@samsung.com>
Thu, 3 Dec 2015 08:51:02 +0000 (17:51 +0900)
Change-Id: I1a0449d7610d1d1019eee880ed18873c148f0d0c

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

index 13ccf36..05ff274 100644 (file)
@@ -161,6 +161,9 @@ static gboolean default_handle_set_param_request (GstRTSPClient * client,
     GstRTSPContext * ctx);
 static gboolean default_handle_get_param_request (GstRTSPClient * client,
     GstRTSPContext * ctx);
+static gboolean default_handle_play_request (GstRTSPClient * client,
+    GstRTSPContext * ctx);
+
 static void client_session_removed (GstRTSPSessionPool * pool,
     GstRTSPSession * session, GstRTSPClient * client);
 
@@ -189,6 +192,7 @@ gst_rtsp_client_class_init (GstRTSPClientClass * klass)
   klass->handle_options_request = default_handle_options_request;
   klass->handle_set_param_request = default_handle_set_param_request;
   klass->handle_get_param_request = default_handle_get_param_request;
+  klass->handle_play_request = default_handle_play_request;
 
   g_object_class_install_property (gobject_class, PROP_SESSION_POOL,
       g_param_spec_object ("session-pool", "Session Pool",
@@ -1127,7 +1131,7 @@ make_base_url (GstRTSPClient * client, GstRTSPUrl * url, const gchar * path)
 }
 
 static gboolean
-handle_play_request (GstRTSPClient * client, GstRTSPContext * ctx)
+default_handle_play_request (GstRTSPClient * client, GstRTSPContext * ctx)
 {
   GstRTSPSession *session;
   GstRTSPClientClass *klass;
@@ -2861,7 +2865,7 @@ handle_request (GstRTSPClient * client, GstRTSPMessage * request)
       handle_setup_request (client, ctx);
       break;
     case GST_RTSP_PLAY:
-      handle_play_request (client, ctx);
+      klass->handle_play_request (client, ctx);
       break;
     case GST_RTSP_PAUSE:
       handle_pause_request (client, ctx);
index 9b6d879..13fa2d1 100644 (file)
@@ -106,6 +106,7 @@ struct _GstRTSPClientClass {
   gboolean        (*handle_options_request) (GstRTSPClient * client, GstRTSPContext * ctx);
   gboolean        (*handle_set_param_request) (GstRTSPClient * client, GstRTSPContext * ctx);
   gboolean        (*handle_get_param_request) (GstRTSPClient * client, GstRTSPContext * ctx);
+  gboolean        (*handle_play_request) (GstRTSPClient * client, GstRTSPContext * ctx);
 
   /* signals */
   void     (*closed)                  (GstRTSPClient *client);
@@ -132,7 +133,7 @@ struct _GstRTSPClientClass {
   gchar*   (*check_requirements)      (GstRTSPClient *client, GstRTSPContext *ctx, gchar ** arr);
 
   /*< private >*/
-  gpointer _gst_reserved[GST_PADDING_LARGE-9];
+  gpointer _gst_reserved[GST_PADDING_LARGE-10];
 };
 
 GType                 gst_rtsp_client_get_type          (void);