[rygel] rygel,server: Init MediaEngine in MediaServerPlugin
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] rygel,server: Init MediaEngine in MediaServerPlugin
- Date: Thu, 18 Oct 2018 08:48:10 +0000 (UTC)
commit 96931eee072182687793a0461e8989d8abd443ad
Author: Jens Georg <mail jensge org>
Date: Thu Oct 18 09:38:35 2018 +0200
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
src/librygel-server/rygel-media-engine.vala | 12 +++++++-----
src/librygel-server/rygel-media-server-plugin.vala | 5 +++++
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);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]