summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2019-10-01 22:48:29 +0200
committerJens Georg <mail@jensge.org>2019-10-01 20:54:11 +0000
commit24d06414b8d1dfcb477acebc3736c35807b1b233 (patch)
tree1cba717bbe9797a98d7d4e1c3c95b296c8dc2fd0
parenta4ed9c522c33e87afdeca34eecdd036ea3d8c6fd (diff)
downloadrygel-wip/playbin3.tar.gz
renderer-gst: Port to playbin3wip/playbin3
Fixes #129
-rw-r--r--src/librygel-renderer-gst/rygel-playbin-player.vala13
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) {