summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWim Taymans <wim.taymans@collabora.co.uk>2010-01-27 18:38:27 +0100
committerWim Taymans <wim.taymans@collabora.co.uk>2010-01-27 18:38:27 +0100
commitce6724f788ceac7b95a523d379f27b2d863ed605 (patch)
tree53c52d6b830c5848875dc51004e0cab35059abc5
parent996112db95b0e931a67a34b1fa236d36a16e4c4e (diff)
rtsp-client: implement error_full
Implement error_full to avoid some segfaults when the rtspconnection calls it. See #608245
-rw-r--r--gst/rtsp-server/rtsp-client.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/gst/rtsp-server/rtsp-client.c b/gst/rtsp-server/rtsp-client.c
index ee76abc..1de0bac 100644
--- a/gst/rtsp-server/rtsp-client.c
+++ b/gst/rtsp-server/rtsp-client.c
@@ -1369,6 +1369,21 @@ error (GstRTSPWatch * watch, GstRTSPResult result, gpointer user_data)
return GST_RTSP_OK;
}
+static GstRTSPResult
+error_full (GstRTSPWatch *watch, GstRTSPResult result,
+ GstRTSPMessage *message, guint id, gpointer user_data)
+{
+ GstRTSPClient *client = GST_RTSP_CLIENT (user_data);
+ gchar *str;
+
+ str = gst_rtsp_strresult (result);
+ GST_INFO ("client %p: received an error %s when handling message %p with id %d",
+ client, str, message, id);
+ g_free (str);
+
+ return GST_RTSP_OK;
+}
+
static GstRTSPStatusCode
tunnel_start (GstRTSPWatch * watch, gpointer user_data)
{
@@ -1467,7 +1482,8 @@ static GstRTSPWatchFuncs watch_funcs = {
closed,
error,
tunnel_start,
- tunnel_complete
+ tunnel_complete,
+ error_full
};
/**