diff options
author | Jens Georg <mail@jensge.org> | 2018-10-11 20:22:46 +0200 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2018-10-11 20:45:15 +0200 |
commit | 9a1a5b0f35286db2d64fc687378faf70cf51556a (patch) | |
tree | 29a8cbd87c833737cb36f70597a7d3ee239c0c23 /src/librygel-renderer-gst/rygel-playbin-player.vala | |
parent | f982b54363ce2a337c412c9372099d5a18c8e006 (diff) | |
download | rygel-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.vala | 26 |
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; |