[rygel] gst-launch,engine-gst: Fix gst-launch plugin
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] gst-launch,engine-gst: Fix gst-launch plugin
- Date: Fri, 28 Aug 2015 22:00:14 +0000 (UTC)
commit 1b7f6d2c025417729636af737063f7211061ab68
Author: Jens Georg <mail jensge org>
Date: Fri Aug 28 23:58:35 2015 +0200
gst-launch,engine-gst: Fix gst-launch plugin
Signed-off-by: Jens Georg <mail jensge org>
.../gstreamer/rygel-gst-media-engine.vala | 3 +-
src/plugins/gst-launch/Makefile.am | 1 -
.../gst-launch/rygel-gst-launch-audio-item.vala | 24 ++++++++----
src/plugins/gst-launch/rygel-gst-launch-item.vala | 41 --------------------
.../gst-launch/rygel-gst-launch-video-item.vala | 10 +----
5 files changed, 20 insertions(+), 59 deletions(-)
---
diff --git a/src/media-engines/gstreamer/rygel-gst-media-engine.vala
b/src/media-engines/gstreamer/rygel-gst-media-engine.vala
index 11e05b7..c8ea488 100644
--- a/src/media-engines/gstreamer/rygel-gst-media-engine.vala
+++ b/src/media-engines/gstreamer/rygel-gst-media-engine.vala
@@ -135,7 +135,8 @@ public class Rygel.GstMediaEngine : Rygel.MediaEngine {
source_uri,
parts[0]);
- if (!Gst.URI.protocol_is_supported (URIType.SRC, parts[0])) {
+ if (!Gst.URI.protocol_is_supported (URIType.SRC, parts[0]) &&
+ parts[0] != "gst-launch") {
warning (_("Can't process URI %s with protocol %s"),
source_uri,
parts[0]);
diff --git a/src/plugins/gst-launch/Makefile.am b/src/plugins/gst-launch/Makefile.am
index bfccfd5..437c8f9 100644
--- a/src/plugins/gst-launch/Makefile.am
+++ b/src/plugins/gst-launch/Makefile.am
@@ -6,7 +6,6 @@ plugin_DATA = gst-launch.plugin
librygel_gst_launch_la_SOURCES = \
rygel-gst-launch-plugin.vala \
rygel-gst-launch-root-container.vala \
- rygel-gst-launch-item.vala \
rygel-gst-launch-audio-item.vala \
rygel-gst-launch-video-item.vala
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 9d24e21..4b60ab0 100644
--- a/src/plugins/gst-launch/rygel-gst-launch-audio-item.vala
+++ b/src/plugins/gst-launch/rygel-gst-launch-audio-item.vala
@@ -28,9 +28,7 @@
/**
* Audio item that serves data from a gst-launch commandline.
*/
-public class Rygel.GstLaunch.AudioItem : Rygel.AudioItem, Item {
- public string launch_line { get; protected set; }
-
+public class Rygel.GstLaunch.AudioItem : Rygel.AudioItem {
public AudioItem (string id,
MediaContainer parent,
string title,
@@ -39,11 +37,21 @@ public class Rygel.GstLaunch.AudioItem : Rygel.AudioItem, Item {
base (id, parent, title);
this.mime_type = mime_type;
- this.launch_line = launch_line;
- }
+ this.add_uri ("gst-launch://" + launch_line);
- public override DataSource? create_stream_source_for_resource (HTTPRequest request,
- MediaResource resource) {
- return this.create_source ();
+ // Call the MediaEngine to determine which item representations it can support
+ var media_engine = MediaEngine.get_default ( );
+ media_engine.get_resources_for_item.begin ( this,
+ (obj, res) => {
+ var added_resources = media_engine
+ .get_resources_for_item.end (res);
+ debug ("Adding %d resources to item source %s",
+ added_resources.size, this.get_primary_uri ());
+ foreach (var resrc in added_resources) {
+ debug ("Media-export item media resource %s",
+ resrc.get_name ());
+ }
+ this.get_resource_list ().add_all (added_resources);
+ });
}
}
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 90c4554..a2a4f75 100644
--- a/src/plugins/gst-launch/rygel-gst-launch-video-item.vala
+++ b/src/plugins/gst-launch/rygel-gst-launch-video-item.vala
@@ -28,8 +28,7 @@
/**
* Video item that serves data from a gst-launch commandline.
*/
-public class Rygel.GstLaunch.VideoItem : Rygel.VideoItem, Item {
- public string launch_line { get; protected set; }
+public class Rygel.GstLaunch.VideoItem : Rygel.VideoItem {
public VideoItem (string id,
MediaContainer parent,
@@ -39,11 +38,6 @@ public class Rygel.GstLaunch.VideoItem : Rygel.VideoItem, Item {
base (id, parent, title);
this.mime_type = mime_type;
- this.launch_line = launch_line;
- }
-
- public override DataSource? create_stream_source_for_resource (HTTPRequest request,
- MediaResource resource) {
- return this.create_source ();
+ this.add_uri ("gst-launch://" + launch_line);
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]