diff options
author | Edward Hervey <bilboed@bilboed.com> | 2009-04-21 16:48:39 +0200 |
---|---|---|
committer | Dave Robillard <dave@drobilla.net> | 2009-05-03 12:03:16 -0400 |
commit | 78435f437ea57edc0c67eb372ee45cd793878107 (patch) | |
tree | 56676d5007990945675cd23f32278f6ecbc7b1a2 /ext | |
parent | 0baf8a4b0e65efd658f8083d170245286557aff5 (diff) | |
download | gst-plugins-bad-78435f437ea57edc0c67eb372ee45cd793878107.tar.gz gst-plugins-bad-78435f437ea57edc0c67eb372ee45cd793878107.tar.bz2 gst-plugins-bad-78435f437ea57edc0c67eb372ee45cd793878107.zip |
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://
Diffstat (limited to 'ext')
-rw-r--r-- | ext/libmms/gstmms.c | 14 |
1 files changed, 12 insertions, 2 deletions
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; } |