GstRTSPSession * session);
static void unlink_session_transports (GstRTSPClient * client,
GstRTSPSession * session, GstRTSPSessionMedia * media);
+static gboolean default_configure_client_transport (GstRTSPClient * client,
+ GstRTSPClientState * state, GstRTSPTransport * ct);
static GstRTSPResult default_params_set (GstRTSPClient * client,
GstRTSPClientState * state);
static GstRTSPResult default_params_get (GstRTSPClient * client,
gobject_class->finalize = gst_rtsp_client_finalize;
klass->create_sdp = create_sdp;
+ klass->configure_client_transport = default_configure_client_transport;
klass->params_set = default_params_set;
klass->params_get = default_params_get;
}
static gboolean
-configure_client_transport (GstRTSPClient * client, GstRTSPClientState * state,
- GstRTSPTransport * ct)
+default_configure_client_transport (GstRTSPClient * client,
+ GstRTSPClientState * state, GstRTSPTransport * ct)
{
GstRTSPClientPrivate *priv = client->priv;
GstRTSPMedia *media;
GstRTSPStream *stream;
GstRTSPState rtspstate;
+ GstRTSPClientClass *klass;
uri = state->uri;
goto invalid_blocksize;
/* update the client transport */
- if (!configure_client_transport (client, state, ct))
+ klass = GST_RTSP_CLIENT_GET_CLASS (client);
+ if (!klass->configure_client_transport (client, state, ct))
goto unsupported_client_transport;
/* set in the session media transport */
GObjectClass parent_class;
GstSDPMessage * (*create_sdp) (GstRTSPClient *client, GstRTSPMedia *media);
+ gboolean (*configure_client_transport) (GstRTSPClient * client,
+ GstRTSPClientState * state,
+ GstRTSPTransport * ct);
GstRTSPResult (*params_set) (GstRTSPClient *client, GstRTSPClientState *state);
GstRTSPResult (*params_get) (GstRTSPClient *client, GstRTSPClientState *state);