[rygel] server,media-export: Use libmediaart for storing
- From: Jens Georg <jensgeorg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [rygel] server,media-export: Use libmediaart for storing
- Date: Sat, 14 Jun 2014 19:29:45 +0000 (UTC)
commit 124cb22dab426aff9d62b37ca98ca11c99f94848
Author: Jens Georg <mail jensge org>
Date: Sat Jun 14 21:07:43 2014 +0200
server,media-export: Use libmediaart for storing
Signed-off-by: Jens Georg <mail jensge org>
https://bugzilla.gnome.org/show_bug.cgi?id=710387
configure.ac | 1 +
src/librygel-server/rygel-media-art-store.vala | 7 ++
src/plugins/media-export/Makefile.am | 1 -
.../rygel-media-export-item-factory.vala | 9 +--
.../rygel-media-export-jpeg-writer.vala | 71 --------------------
5 files changed, 12 insertions(+), 77 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index f0e44cf..b01d88f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -170,6 +170,7 @@ AS_IF([test "x$with_media_engine" = "xgstreamer"],
gstreamer-pbutils-1.0 >= $GSTPBU_REQUIRED
libsoup-2.4 >= $LIBSOUP_REQUIRED
sqlite3 >= $LIBSQLITE3_REQUIRED
+ libmediaart-1.0 >= $MEDIAART_REQUIRED
uuid])
RYGEL_PLUGIN_MEDIA_EXPORT_DEPS_VALAFLAGS="$RYGEL_COMMON_MODULES_VALAFLAGS --pkg gupnp-dlna-2.0
--pkg gupnp-dlna-gst-2.0 --pkg gstreamer-tag-1.0 --pkg gstreamer-app-1.0 --pkg gstreamer-pbutils-1.0 --pkg
sqlite3"
AC_SUBST([RYGEL_PLUGIN_MEDIA_EXPORT_DEPS_VALAFLAGS])
diff --git a/src/librygel-server/rygel-media-art-store.vala b/src/librygel-server/rygel-media-art-store.vala
index ed72480..116be04 100644
--- a/src/librygel-server/rygel-media-art-store.vala
+++ b/src/librygel-server/rygel-media-art-store.vala
@@ -40,6 +40,7 @@ public class Rygel.MediaArtStore : GLib.Object {
public static MediaArtStore? get_default () {
if (first_time) {
try {
+ MediaArt.init ();
media_art_store = new MediaArtStore ();
} catch (MediaArtStoreError error) {
warning ("No media art available: %s", error.message);
@@ -105,6 +106,12 @@ public class Rygel.MediaArtStore : GLib.Object {
return file;
}
+ public void add (MusicItem item, File file, uint8[]? data) {
+ MediaArt.process_file (data, item.mime_type,
+ MediaArt.Type.ALBUM, item.artist, item.album,
+ file);
+ }
+
private MediaArtStore () throws MediaArtStoreError {
var dir = Path.build_filename (Environment.get_user_cache_dir (),
"media-art");
diff --git a/src/plugins/media-export/Makefile.am b/src/plugins/media-export/Makefile.am
index 470fed6..4916bcc 100644
--- a/src/plugins/media-export/Makefile.am
+++ b/src/plugins/media-export/Makefile.am
@@ -26,7 +26,6 @@ librygel_media_export_la_SOURCES = \
rygel-media-export-harvester.vala \
rygel-media-export-harvesting-task.vala \
rygel-media-export-item-factory.vala \
- rygel-media-export-jpeg-writer.vala \
rygel-media-export-object-factory.vala \
rygel-media-export-writable-db-container.vala \
rygel-media-export-playlist-root-container.vala \
diff --git a/src/plugins/media-export/rygel-media-export-item-factory.vala
b/src/plugins/media-export/rygel-media-export-item-factory.vala
index 14296b9..9e45b1a 100644
--- a/src/plugins/media-export/rygel-media-export-item-factory.vala
+++ b/src/plugins/media-export/rygel-media-export-item-factory.vala
@@ -283,11 +283,10 @@ namespace Rygel.MediaExport.ItemFactory {
case Tag.ImageType.UNDEFINED:
case Tag.ImageType.FRONT_COVER:
var store = MediaArtStore.get_default ();
- var thumb = store.get_media_art_file ("album", item, true);
- try {
- var writer = new JPEGWriter ();
- writer.write (sample.get_buffer (), thumb);
- } catch (Error error) {}
+ Gst.MapInfo map_info;
+ sample.get_buffer ().map (out map_info, Gst.MapFlags.READ);
+ store.add (item, file, map_info.data);
+ sample.get_buffer ().unmap (map_info);
break;
default:
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]