summaryrefslogtreecommitdiff
path: root/src/librygel-renderer-gst/rygel-playbin-player.vala
diff options
context:
space:
mode:
authorJens Georg <mail@jensge.org>2018-10-11 20:22:46 +0200
committerJens Georg <mail@jensge.org>2018-10-11 20:45:15 +0200
commit9a1a5b0f35286db2d64fc687378faf70cf51556a (patch)
tree29a8cbd87c833737cb36f70597a7d3ee239c0c23 /src/librygel-renderer-gst/rygel-playbin-player.vala
parentf982b54363ce2a337c412c9372099d5a18c8e006 (diff)
downloadrygel-9a1a5b0f35286db2d64fc687378faf70cf51556a.tar.gz
renderer-gst: Make sinks configurable
Diffstat (limited to 'src/librygel-renderer-gst/rygel-playbin-player.vala')
-rw-r--r--src/librygel-renderer-gst/rygel-playbin-player.vala26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/librygel-renderer-gst/rygel-playbin-player.vala b/src/librygel-renderer-gst/rygel-playbin-player.vala
index 1b7b2420..f8a4f90a 100644
--- a/src/librygel-renderer-gst/rygel-playbin-player.vala
+++ b/src/librygel-renderer-gst/rygel-playbin-player.vala
@@ -629,6 +629,32 @@ public class Rygel.Playbin.Player : GLib.Object, Rygel.MediaPlayer {
}
private void setup_playbin () {
+ try {
+ var config = MetaConfig.get_default ();
+ var sink_launch = config.get_string ("Playbin", "audio-sink");
+ debug ("Trying to parse audio sink %s", sink_launch);
+ var sink = Gst.parse_bin_from_description (sink_launch,
+ true,
+ null,
+ ParseFlags.FATAL_ERRORS);
+ this.playbin.audio_sink = sink;
+ } catch (Error error) {
+ debug ("No audio sink configured, using default: %s", error.message);
+ }
+
+ try {
+ var config = MetaConfig.get_default ();
+ var sink_launch = config.get_string ("Playbin", "video-sink");
+ debug ("Trying to parse video sink %s", sink_launch);
+ var sink = Gst.parse_bin_from_description (sink_launch,
+ true,
+ null,
+ ParseFlags.FATAL_ERRORS);
+ this.playbin.video_sink = sink;
+ } catch (Error error) {
+ debug ("No video sink configured, using default: %s", error.message);
+ }
+
// Needed to get "Stop" events from the playbin.
// We can do this because we have a bus watch
this.playbin.auto_flush_bus = false;