diff options
author | Rico Tzschichholz <ricotz@t-online.de> | 2014-08-15 23:23:13 +0200 |
---|---|---|
committer | Jens Georg <mail@jensge.org> | 2014-08-15 23:24:27 +0200 |
commit | 8cce523f2bf722e90951391a2d120af6d205d347 (patch) | |
tree | dd1c6d97b1bc74e8976f6818ed46480709d72354 | |
parent | 0dcf4bfc083ae2db5f7809c823fab9cdcccee783 (diff) | |
download | rygel-8cce523f2bf722e90951391a2d120af6d205d347.tar.gz |
server: Fix build with new libmediaart
Signed-off-by: Jens Georg <mail@jensge.org>
-rw-r--r-- | configure.ac | 4 | ||||
-rw-r--r-- | src/librygel-server/filelist.am | 3 | ||||
-rw-r--r-- | src/librygel-server/libmediaart-1.0.vapi | 35 | ||||
-rw-r--r-- | src/librygel-server/rygel-media-art-store.vala | 23 |
4 files changed, 22 insertions, 43 deletions
diff --git a/configure.ac b/configure.ac index 89290669..236f3c1c 100644 --- a/configure.ac +++ b/configure.ac @@ -46,7 +46,7 @@ GEE_REQUIRED=0.8.0 UUID_REQUIRED=1.41.3 LIBSOUP_REQUIRED=2.44.0 GTK_REQUIRED=3.0 -MEDIAART_REQUIRED=0.4.0 +MEDIAART_REQUIRED=0.5.0 dnl Additional requirements for media-export plugin GSTREAMER_TAG_REQUIRED=1.0 @@ -74,7 +74,7 @@ PKG_CHECK_MODULES([LIBRYGEL_SERVER_DEPS], [$RYGEL_COMMON_MODULES uuid >= libsoup-2.4 >= $LIBSOUP_REQUIRED libmediaart-1.0 >= $MEDIAART_REQUIRED]) RYGEL_COMMON_MODULES_VALAFLAGS="$RYGEL_BASE_MODULES_VALAFLAGS --pkg gupnp-av-1.0" -LIBRYGEL_SERVER_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gssdp-1.0 --pkg gio-2.0 --pkg libsoup-2.4 --pkg gmodule-2.0" +LIBRYGEL_SERVER_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gssdp-1.0 --pkg gio-2.0 --pkg libsoup-2.4 --pkg gmodule-2.0 --pkg libmediaart-1.0" AC_SUBST([LIBRYGEL_SERVER_DEPS_VALAFLAGS]) PKG_CHECK_MODULES([LIBRYGEL_RENDERER_DEPS], [$RYGEL_COMMON_MODULES gio-2.0 >= $GIO_REQUIRED libsoup-2.4 >= $LIBSOUP_REQUIRED]) diff --git a/src/librygel-server/filelist.am b/src/librygel-server/filelist.am index 44cfe04e..f40d699b 100644 --- a/src/librygel-server/filelist.am +++ b/src/librygel-server/filelist.am @@ -78,5 +78,4 @@ LIBRYGEL_SERVER_NONVAPI_SOURCE_FILES = \ rygel-wmp-hacks.vala \ rygel-xbmc-hacks.vala \ rygel-xbox-hacks.vala \ - rygel-data-sink.vala \ - libmediaart-1.0.vapi + rygel-data-sink.vala diff --git a/src/librygel-server/libmediaart-1.0.vapi b/src/librygel-server/libmediaart-1.0.vapi deleted file mode 100644 index 8433ba23..00000000 --- a/src/librygel-server/libmediaart-1.0.vapi +++ /dev/null @@ -1,35 +0,0 @@ -/* libmediaart-1.0.vapi generated by vapigen, do not modify. */ - -[CCode (cprefix = "MediaArt", gir_namespace = "MediaArt", gir_version = "1.0", lower_case_cprefix = "media_art_")] -namespace MediaArt { - [CCode (cheader_filename = "libmediaart/mediaart.h", cprefix = "MEDIA_ART_", has_type_id = false)] - public enum Type { - NONE, - ALBUM, - VIDEO - } - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static bool buffer_to_jpeg (uint8 buffer, ulong len, string buffer_mime, string target); - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static bool file_to_jpeg (string filename, string target); - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static void get_file (string artist, string title, string prefix, GLib.File? file, out GLib.File cache_file, out GLib.File local_file); - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static void get_path (string artist, string title, string prefix, string? uri, out string path, out string local_uri); - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static bool init (); - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static void plugin_init (int max_width); - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static void plugin_shutdown (); - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static bool process ([CCode (array_length_cname = "len", array_length_pos = 1.5, array_length_type = "gulong")] uint8[] buffer, string mime, MediaArt.Type type, string? artist, string? title, string uri); - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static bool process_file ([CCode (array_length_cname = "len", array_length_pos = 1.5, array_length_type = "gsize")] uint8[]? buffer, string mime, MediaArt.Type type, string artist, string title, GLib.File file); - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static bool remove (string artist, string? album); - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static void shutdown (); - [CCode (cheader_filename = "libmediaart/mediaart.h")] - public static string strip_invalid_entities (string original); -} diff --git a/src/librygel-server/rygel-media-art-store.vala b/src/librygel-server/rygel-media-art-store.vala index 453c09cd..5d939f1e 100644 --- a/src/librygel-server/rygel-media-art-store.vala +++ b/src/librygel-server/rygel-media-art-store.vala @@ -36,11 +36,12 @@ public class Rygel.MediaArtStore : GLib.Object { private static bool first_time = true; private string directory; + private MediaArt.Process? media_art_process; public static MediaArtStore? get_default () { if (first_time) { try { - MediaArt.init (); + MediaArt.plugin_init (128); media_art_store = new MediaArtStore (); } catch (MediaArtStoreError error) { warning ("No media art available: %s", error.message); @@ -107,9 +108,16 @@ public class Rygel.MediaArtStore : GLib.Object { } public void add (MusicItem item, File file, uint8[]? data) { - MediaArt.process_file (data, item.mime_type, - MediaArt.Type.ALBUM, item.artist, item.album, - file); + if (media_art_process == null) { + return; + } + + try { + media_art_process.buffer (MediaArt.Type.ALBUM, MediaArt.ProcessFlags.NONE, file, + data, item.mime_type, item.artist, item.album); + } catch (Error error) { + warning ("%s", error.message); + } } private MediaArtStore () throws MediaArtStoreError { @@ -122,5 +130,12 @@ public class Rygel.MediaArtStore : GLib.Object { } this.directory = dir; + + try { + this.media_art_process = new MediaArt.Process (); + } catch (Error error) { + this.media_art_process = null; + throw new MediaArtStoreError.NO_MEDIA_ART ("%s", error.message); + } } } |