From a025f156a5d15c72138f18da78bcf9fffd9fda5f Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Tue, 21 Apr 2009 16:48:39 +0200 Subject: mmssrc: If the connection fails, emit a redirection msg to the rtsp equivalent. This should help fix the issue with Windows Media Server using rtsp... but still declaring the stream with mms:// --- ext/libmms/gstmms.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'ext/libmms') diff --git a/ext/libmms/gstmms.c b/ext/libmms/gstmms.c index f04e410f..dc004e81 100644 --- a/ext/libmms/gstmms.c +++ b/ext/libmms/gstmms.c @@ -460,8 +460,18 @@ gst_mms_start (GstBaseSrc * bsrc) GST_DEBUG_OBJECT (mms, "Connect successful"); return TRUE; } else { - GST_ELEMENT_ERROR (mms, RESOURCE, OPEN_READ, - ("Could not connect to this stream"), (NULL)); + gchar *url, *location; + + GST_ERROR_OBJECT (mms, + "Could not connect to this stream, redirecting to rtsp"); + location = gst_uri_get_location (mms->uri_name); + url = g_strdup_printf ("rtsp://%s", location); + g_free (location); + + gst_element_post_message (GST_ELEMENT_CAST (mms), + gst_message_new_element (GST_OBJECT_CAST (mms), + gst_structure_new ("redirect", "new-location", G_TYPE_STRING, url, + NULL))); return FALSE; } -- cgit v1.2.1