}
GstRTSPResult
+gst_rtsp_extension_receive_request (GstRTSPExtension * ext,
+ GstRTSPMessage * msg)
+{
+ GstRTSPExtensionInterface *iface;
+ GstRTSPResult res = GST_RTSP_ENOTIMPL;
+
+ iface = GST_RTSP_EXTENSION_GET_IFACE (ext);
+ if (iface->receive_request)
+ res = iface->receive_request (ext, msg);
+
+ return res;
+}
+
+GstRTSPResult
gst_rtsp_extension_send (GstRTSPExtension * ext, GstRTSPMessage * req,
GstRTSPMessage * resp)
{
/* signals */
GstRTSPResult (*send) (GstRTSPExtension *ext, GstRTSPMessage *req, GstRTSPMessage *resp);
+ /* ABI: more vfunctions added later */
+ GstRTSPResult (*receive_request) (GstRTSPExtension *ext, GstRTSPMessage *req);
+
/*< private >*/
- gpointer _gst_reserved[GST_PADDING];
+ gpointer _gst_reserved[GST_PADDING - 1];
};
GType gst_rtsp_extension_get_type (void);
GstRTSPResult gst_rtsp_extension_get_transports (GstRTSPExtension *ext, GstRTSPLowerTrans protocols,
gchar **transport);
GstRTSPResult gst_rtsp_extension_stream_select (GstRTSPExtension *ext, GstRTSPUrl *url);
+GstRTSPResult gst_rtsp_extension_receive_request (GstRTSPExtension *ext, GstRTSPMessage *req);
/* signal emision */
GstRTSPResult gst_rtsp_extension_send (GstRTSPExtension *ext, GstRTSPMessage *req,