diff options
author | Jens Georg <mail@jensge.org> | 2018-10-18 09:38:35 +0200 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2018-10-18 10:47:25 +0200 |
commit | 96931eee072182687793a0461e8989d8abd443ad (patch) | |
tree | 60db0eb06c078c826abc1f0a8935fa73e1434f40 | |
parent | 6dfde6aa2bf7686e47428aca93116806197852b8 (diff) | |
download | rygel-96931eee072182687793a0461e8989d8abd443ad.tar.gz |
rygel,server: Init MediaEngine in MediaServerPlugin
This way it is possible to not build any engine at all if you are only
interested in running as a DMR as the engine is only used for the
streaming / transcoding of the media
-rw-r--r-- | src/librygel-server/rygel-media-engine.vala | 12 | ||||
-rw-r--r-- | src/librygel-server/rygel-media-server-plugin.vala | 5 | ||||
-rw-r--r-- | src/rygel/rygel-main.vala | 1 |
3 files changed, 12 insertions, 6 deletions
diff --git a/src/librygel-server/rygel-media-engine.vala b/src/librygel-server/rygel-media-engine.vala index 067a8a2f..bf8e8e3f 100644 --- a/src/librygel-server/rygel-media-engine.vala +++ b/src/librygel-server/rygel-media-engine.vala @@ -54,12 +54,14 @@ public abstract class Rygel.MediaEngine : GLib.Object { private static MediaEngine instance; public static void init () throws Error { - // lazy-load the engine plug-in - var loader = new EngineLoader (); - MediaEngine.instance = loader.load_engine (); if (MediaEngine.instance == null) { - throw new MediaEngineError.NOT_FOUND - (_("No media engine found.")); + // lazy-load the engine plug-in + var loader = new EngineLoader (); + MediaEngine.instance = loader.load_engine (); + if (MediaEngine.instance == null) { + throw new MediaEngineError.NOT_FOUND + (_("No media engine found.")); + } } } diff --git a/src/librygel-server/rygel-media-server-plugin.vala b/src/librygel-server/rygel-media-server-plugin.vala index b7d87efc..e162020b 100644 --- a/src/librygel-server/rygel-media-server-plugin.vala +++ b/src/librygel-server/rygel-media-server-plugin.vala @@ -141,6 +141,11 @@ public abstract class Rygel.MediaServerPlugin : Rygel.Plugin { public override void constructed () { base.constructed (); + try { + MediaEngine.init(); + } catch (Error e) { + error ("Failed to initialize media engine: %s", e.message); + } var path = ContentDirectory.DESCRIPTION_PATH_NO_TRACK; diff --git a/src/rygel/rygel-main.vala b/src/rygel/rygel-main.vala index bd5c65e0..4a1d3b7e 100644 --- a/src/rygel/rygel-main.vala +++ b/src/rygel/rygel-main.vala @@ -291,7 +291,6 @@ internal class Rygel.Main : Object { // Parse commandline options CmdlineConfig.parse_args (ref args); Main.register_default_configurations (); - MediaEngine.init (); main = new Main (); service = new DBusService (main); |