From b53a45ed444fa29ea49be6cd38fa0f5099842167 Mon Sep 17 00:00:00 2001 From: Thiago Santos Date: Thu, 14 Jan 2010 14:13:50 -0300 Subject: [PATCH] qtdemux: Do not post empty redirect messages Some misinterpreted data could result in posting redirect messages with empty redirect strings. It is better not to post them. An example is the file on bug #597497 --- gst/qtdemux/qtdemux.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/gst/qtdemux/qtdemux.c b/gst/qtdemux/qtdemux.c index a6b5013d3a..77c2bfaf7d 100644 --- a/gst/qtdemux/qtdemux.c +++ b/gst/qtdemux/qtdemux.c @@ -2563,18 +2563,20 @@ gst_qtdemux_decorate_and_push_buffer (GstQTDemux * qtdemux, GstFlowReturn ret = GST_FLOW_OK; if (G_UNLIKELY (stream->fourcc == FOURCC_rtsp)) { - GstMessage *m; gchar *url; url = g_strndup ((gchar *) GST_BUFFER_DATA (buf), GST_BUFFER_SIZE (buf)); - - /* we have RTSP redirect now */ - m = gst_message_new_element (GST_OBJECT_CAST (qtdemux), - gst_structure_new ("redirect", - "new-location", G_TYPE_STRING, url, NULL)); + if (url != NULL && strlen (url) != 0) { + /* we have RTSP redirect now */ + gst_element_post_message (GST_ELEMENT_CAST (qtdemux), + gst_message_new_element (GST_OBJECT_CAST (qtdemux), + gst_structure_new ("redirect", + "new-location", G_TYPE_STRING, url, NULL))); + } else { + GST_WARNING_OBJECT (qtdemux, "Redirect URI of stream is empty, not " + "posting"); + } g_free (url); - - gst_element_post_message (GST_ELEMENT_CAST (qtdemux), m); } /* position reporting */