diff options
author | Jens Georg <mail@jensge.org> | 2019-10-01 22:48:29 +0200 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2019-10-01 20:54:11 +0000 |
commit | 24d06414b8d1dfcb477acebc3736c35807b1b233 (patch) | |
tree | 1cba717bbe9797a98d7d4e1c3c95b296c8dc2fd0 | |
parent | a4ed9c522c33e87afdeca34eecdd036ea3d8c6fd (diff) | |
download | rygel-wip/playbin3.tar.gz |
renderer-gst: Port to playbin3wip/playbin3
Fixes #129
-rw-r--r-- | src/librygel-renderer-gst/rygel-playbin-player.vala | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/librygel-renderer-gst/rygel-playbin-player.vala b/src/librygel-renderer-gst/rygel-playbin-player.vala index 33c3e718..96da6d27 100644 --- a/src/librygel-renderer-gst/rygel-playbin-player.vala +++ b/src/librygel-renderer-gst/rygel-playbin-player.vala @@ -329,8 +329,8 @@ public class Rygel.Playbin.Player : GLib.Object, Rygel.MediaPlayer { get { int64 dur = 0; - if (this.playbin.source != null && - this.playbin.source.query_duration (Format.BYTES, out dur)) { + if (this.source != null && + this.source.query_duration (Format.BYTES, out dur)) { return dur; } else { return 0; @@ -354,8 +354,8 @@ public class Rygel.Playbin.Player : GLib.Object, Rygel.MediaPlayer { get { int64 pos = 0; - if (this.playbin.source != null && - this.playbin.source.query_position (Format.BYTES, out pos)) { + if (this.source != null && + this.source.query_position (Format.BYTES, out pos)) { return pos; } else { return 0; @@ -364,7 +364,7 @@ public class Rygel.Playbin.Player : GLib.Object, Rygel.MediaPlayer { } private Player () throws Error { - this.playbin = ElementFactory.make ("playbin", null); + this.playbin = ElementFactory.make ("playbin3", null); if (this.playbin == null) { throw new PlayerError.NO_ELEMENT ( _("Your GStreamer installation seems to be missing the “playbin” element. The Rygel GStreamer renderer implementation cannot work without it")); @@ -592,6 +592,7 @@ public class Rygel.Playbin.Player : GLib.Object, Rygel.MediaPlayer { } } + private Element source; private void on_source_setup (Element pipeline, dynamic Element source) { if (source.get_type ().name () == "GstSoupHTTPSrc" && this.transfer_mode != null) { @@ -603,6 +604,8 @@ public class Rygel.Playbin.Player : GLib.Object, Rygel.MediaPlayer { source.extra_headers = structure; source.user_agent = this.user_agent; } + + this.source = source; } private void on_uri_notify (ParamSpec pspec) { |