/* queue the response */
response = gen_tunnel_reply (conn, code, &watch->message);
+ if (watch->funcs.tunnel_http_response)
+ watch->funcs.tunnel_http_response (watch, &watch->message, response,
+ watch->user_data);
gst_rtsp_watch_send_message (watch, response, NULL);
gst_rtsp_message_free (response);
goto read_done;
* @error_full: callback when an error occured with more information than
* the @error callback.
* @tunnel_lost: callback when the post connection of a tunnel is closed.
+ * @tunnel_http_response: callback when an HTTP response to the GET request
+ * is about to be sent for a tunneled connection. The response can be
+ * modified in the callback. Since 1.4.
*
* Callback functions from a #GstRTSPWatch.
*/
GstRTSPMessage *message, guint id,
gpointer user_data);
GstRTSPResult (*tunnel_lost) (GstRTSPWatch *watch, gpointer user_data);
+ GstRTSPResult (*tunnel_http_response) (GstRTSPWatch *watch,
+ GstRTSPMessage *request,
+ GstRTSPMessage *response,
+ gpointer user_data);
/*< private >*/
- gpointer _gst_reserved[GST_PADDING];
+ gpointer _gst_reserved[GST_PADDING-1];
} GstRTSPWatchFuncs;
GstRTSPWatch * gst_rtsp_watch_new (GstRTSPConnection *conn,