summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2016-02-10 00:07:25 +0100
committerJens Georg <mail@jensge.org>2016-02-13 21:18:55 +0100
commitbc844bbe63f2d4aecb1bb9a6c237edc7bc31b811 (patch)
tree33aeda1f7fbf7748c9400d960d6fcf8f853e13c4
parent6cdf2488e36468207104560790f6e25f6969bd3c (diff)
downloadrygel-bc844bbe63f2d4aecb1bb9a6c237edc7bc31b811.tar.gz
gst-launch,engine-gst: Fix uri generation
If launchline contained ., parts of it would end up as a the file extension Signed-off-by: Jens Georg <mail@jensge.org>
-rw-r--r--src/media-engines/gstreamer/rygel-gst-utils.vala1
-rw-r--r--src/plugins/gst-launch/rygel-gst-launch-audio-item.vala2
-rw-r--r--src/plugins/gst-launch/rygel-gst-launch-video-item.vala2
3 files changed, 3 insertions, 2 deletions
diff --git a/src/media-engines/gstreamer/rygel-gst-utils.vala b/src/media-engines/gstreamer/rygel-gst-utils.vala
index 9165a822..b1cd8f75 100644
--- a/src/media-engines/gstreamer/rygel-gst-utils.vala
+++ b/src/media-engines/gstreamer/rygel-gst-utils.vala
@@ -49,6 +49,7 @@ internal abstract class Rygel.GstUtils {
if (uri.has_prefix ("gst-launch://")) {
var description = uri.replace ("gst-launch://", "");
+ description = Soup.URI.decode (description);
src = Gst.parse_bin_from_description (description, true);
} else {
diff --git a/src/plugins/gst-launch/rygel-gst-launch-audio-item.vala b/src/plugins/gst-launch/rygel-gst-launch-audio-item.vala
index 4b60ab09..f83f0108 100644
--- a/src/plugins/gst-launch/rygel-gst-launch-audio-item.vala
+++ b/src/plugins/gst-launch/rygel-gst-launch-audio-item.vala
@@ -37,7 +37,7 @@ public class Rygel.GstLaunch.AudioItem : Rygel.AudioItem {
base (id, parent, title);
this.mime_type = mime_type;
- this.add_uri ("gst-launch://" + launch_line);
+ this.add_uri ("gst-launch://" + Soup.URI.encode (launch_line, ".!"));
// Call the MediaEngine to determine which item representations it can support
var media_engine = MediaEngine.get_default ( );
diff --git a/src/plugins/gst-launch/rygel-gst-launch-video-item.vala b/src/plugins/gst-launch/rygel-gst-launch-video-item.vala
index a6057ec9..e7b25bcf 100644
--- a/src/plugins/gst-launch/rygel-gst-launch-video-item.vala
+++ b/src/plugins/gst-launch/rygel-gst-launch-video-item.vala
@@ -38,7 +38,7 @@ public class Rygel.GstLaunch.VideoItem : Rygel.VideoItem {
base (id, parent, title);
this.mime_type = mime_type;
- this.add_uri ("gst-launch://" + launch_line);
+ this.add_uri ("gst-launch://" + Soup.URI.encode (launch_line, ".!"));
// Call the MediaEngine to determine which item representations it can support
var media_engine = MediaEngine.get_default ( );