summaryrefslogtreecommitdiffstats
path: root/recipes-multimedia/lightmediascanner/files
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-multimedia/lightmediascanner/files')
-rw-r--r--recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch33
-rw-r--r--recipes-multimedia/lightmediascanner/files/0002-switch-from-G_BUS_TYPE_SESSION-to-G_BUS_TYPE_SYSTEM.patch49
-rw-r--r--recipes-multimedia/lightmediascanner/files/dbus-lightmediascanner.conf12
-rw-r--r--recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch11
-rw-r--r--recipes-multimedia/lightmediascanner/files/lightmediascanner.service16
-rw-r--r--recipes-multimedia/lightmediascanner/files/plugin-ogg-fix-chucksize-issue.patch53
6 files changed, 174 insertions, 0 deletions
diff --git a/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch b/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch
new file mode 100644
index 00000000..15d4b3f0
--- /dev/null
+++ b/recipes-multimedia/lightmediascanner/files/0001-Define-comparison_fn_t-for-non-glibc-systems.patch
@@ -0,0 +1,33 @@
+From 5bc5b8c5dad3edec6736fd7e7ce61250c4ce3725 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 12 Jul 2017 17:13:19 -0700
+Subject: [PATCH] Define comparison_fn_t for non-glibc systems
+
+lightmediascanner.c:324:12: error: 'comparison_fn_t' undeclared (first use in this function)
+ (comparison_fn_t)_plugin_sort);
+ ^~~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/lib/lightmediascanner.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/src/lib/lightmediascanner.c b/src/lib/lightmediascanner.c
+index 344b247..b866883 100644
+--- a/src/lib/lightmediascanner.c
++++ b/src/lib/lightmediascanner.c
+@@ -37,6 +37,11 @@
+ #define DEFAULT_SLAVE_TIMEOUT 1000
+ #define DEFAULT_COMMIT_INTERVAL 100
+
++#if !defined(__GLIBC__)
++typedef int (*__compar_fn_t) (const void*, const void*);
++typedef __compar_fn_t comparison_fn_t;
++#endif
++
+ #ifdef HAVE_MAGIC_H
+ static magic_t _magic_handle;
+
+--
+2.13.2
+
diff --git a/recipes-multimedia/lightmediascanner/files/0002-switch-from-G_BUS_TYPE_SESSION-to-G_BUS_TYPE_SYSTEM.patch b/recipes-multimedia/lightmediascanner/files/0002-switch-from-G_BUS_TYPE_SESSION-to-G_BUS_TYPE_SYSTEM.patch
new file mode 100644
index 00000000..5abb980b
--- /dev/null
+++ b/recipes-multimedia/lightmediascanner/files/0002-switch-from-G_BUS_TYPE_SESSION-to-G_BUS_TYPE_SYSTEM.patch
@@ -0,0 +1,49 @@
+From 5a618b444e424483c3a9d34dd9b196796cac8e3f Mon Sep 17 00:00:00 2001
+From: Matt Ranostay <matt.ranostay@konsulko.com>
+Date: Mon, 22 Jul 2019 13:29:52 -0700
+Subject: [PATCH] switch from G_BUS_TYPE_SESSION to G_BUS_TYPE_SYSTEM
+
+Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
+---
+ src/bin/lightmediascannerctl.c | 4 ++--
+ src/bin/lightmediascannerd.c | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/bin/lightmediascannerctl.c b/src/bin/lightmediascannerctl.c
+index 5764bc0..1d4d844 100644
+--- a/src/bin/lightmediascannerctl.c
++++ b/src/bin/lightmediascannerctl.c
+@@ -11,7 +11,7 @@ start_service_by_name(void)
+ GVariant *var;
+ GDBusConnection *conn;
+
+- conn = g_bus_get_sync(G_BUS_TYPE_SESSION, NULL, &error);
++ conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
+ if (error) {
+ fprintf(stderr, "Could not get session bus connection: %s\n",
+ error->message);
+@@ -526,7 +526,7 @@ main(int argc, char *argv[])
+
+ app.timer = NULL;
+ app.loop = g_main_loop_new(NULL, FALSE);
+- app.proxy = g_dbus_proxy_new_for_bus_sync(G_BUS_TYPE_SESSION,
++ app.proxy = g_dbus_proxy_new_for_bus_sync(G_BUS_TYPE_SYSTEM,
+ G_DBUS_PROXY_FLAGS_NONE,
+ NULL,
+ "org.lightmediascanner",
+diff --git a/src/bin/lightmediascannerd.c b/src/bin/lightmediascannerd.c
+index 319db42..6db81cc 100644
+--- a/src/bin/lightmediascannerd.c
++++ b/src/bin/lightmediascannerd.c
+@@ -1721,7 +1721,7 @@ main(int argc, char *argv[])
+ introspection_data = g_dbus_node_info_new_for_xml(introspection_xml, NULL);
+ g_assert(introspection_xml != NULL);
+
+- id = g_bus_own_name(G_BUS_TYPE_SESSION, "org.lightmediascanner",
++ id = g_bus_own_name(G_BUS_TYPE_SYSTEM, "org.lightmediascanner",
+ G_BUS_NAME_OWNER_FLAGS_NONE,
+ NULL, on_name_acquired, NULL, NULL, NULL);
+
+--
+2.20.1
+
diff --git a/recipes-multimedia/lightmediascanner/files/dbus-lightmediascanner.conf b/recipes-multimedia/lightmediascanner/files/dbus-lightmediascanner.conf
new file mode 100644
index 00000000..8a9e35b0
--- /dev/null
+++ b/recipes-multimedia/lightmediascanner/files/dbus-lightmediascanner.conf
@@ -0,0 +1,12 @@
+<?xml version="1.0"?> <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+<busconfig>
+ <policy user="root">
+ <allow own="org.lightmediascanner"/>
+ <allow send_destination="org.lightmediascanner"/>
+ <allow receive_type="signal" receive_sender="org.lightmediascanner" receive_interface="org.freedesktop.DBus.Properties"/>
+ </policy>
+
+ <policy at_console="true">
+ <allow send_destination="org.lightmediascanner"/>
+ </policy>
+</busconfig>
diff --git a/recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch b/recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch
new file mode 100644
index 00000000..9528bec7
--- /dev/null
+++ b/recipes-multimedia/lightmediascanner/files/id3-plugin-support-out-of-tree-build.patch
@@ -0,0 +1,11 @@
+--- a/src/plugins/Makefile.am 2015-10-25 16:12:29.331415823 +0000
++++ b/src/plugins/Makefile.am 2015-10-25 16:14:37.593415808 +0000
+@@ -93,7 +93,7 @@
+ id3_id3_la_SOURCES = id3/id3.c id3/id3v1_genres.c
+ id3_id3_la_LIBADD = $(PLUGINS_LIBADD)
+
+-id3/id3v1_genres.c: $(srcdir)/id3/id3v1_genres.def $(srcdir)/id3/id3v1_genres_gen.awk
++$(srcdir)/id3/id3v1_genres.c: $(srcdir)/id3/id3v1_genres.def $(srcdir)/id3/id3v1_genres_gen.awk
+ $(AWK) -f $(srcdir)/id3/id3v1_genres_gen.awk $(srcdir)/id3/id3v1_genres.def > $@
+
+ EXTRA_DIST += id3/id3v1_genres.def id3/id3v1_genres_gen.awk
diff --git a/recipes-multimedia/lightmediascanner/files/lightmediascanner.service b/recipes-multimedia/lightmediascanner/files/lightmediascanner.service
new file mode 100644
index 00000000..63b48ebf
--- /dev/null
+++ b/recipes-multimedia/lightmediascanner/files/lightmediascanner.service
@@ -0,0 +1,16 @@
+[Unit]
+Description=Lightmediascanner (LMS)
+After=run-agl-postinsts.service systemd-remount-fs.service systemd-tmpfiles-setup.service tmp.mount
+ConditionPathIsReadWrite=/var/volatile/tmp
+
+[Service]
+Type=dbus
+Restart=on-failure
+RestartSec=0
+BusName=org.lightmediascanner
+SmackProcessLabel=User::App::agl-service-mediascanner
+ExecStart=/usr/bin/lightmediascannerd --startup-scan --db-path=/var/volatile/tmp/lightmediascannerd.db --directory=/media
+
+[Install]
+WantedBy=multi-user.target
+Alias=dbus-org.lightmediascanner.service
diff --git a/recipes-multimedia/lightmediascanner/files/plugin-ogg-fix-chucksize-issue.patch b/recipes-multimedia/lightmediascanner/files/plugin-ogg-fix-chucksize-issue.patch
new file mode 100644
index 00000000..6a0b8ff9
--- /dev/null
+++ b/recipes-multimedia/lightmediascanner/files/plugin-ogg-fix-chucksize-issue.patch
@@ -0,0 +1,53 @@
+From 3e66b97221440b17a184feb48692dce7e0561cac Mon Sep 17 00:00:00 2001
+From: Matt Ranostay <matt.ranostay@konsulko.com>
+Date: Wed, 8 Mar 2017 16:30:01 -0800
+Subject: [PATCH] plugin: ogg: fix chucksize issue
+
+There are some OGG files that have metadata chucks that go over the
+hardcoded 10 * 4096 size due to album art. This patchset just parses
+each chuck and continues till it runs out of valid chunks.
+
+Signed-off-by: Matt Ranostay <matt.ranostay@konsulko.com>
+---
+ src/plugins/ogg/ogg.c | 11 ++---------
+ 1 file changed, 2 insertions(+), 9 deletions(-)
+
+diff --git a/src/plugins/ogg/ogg.c b/src/plugins/ogg/ogg.c
+index 1c0818e..c94dc38 100644
+--- a/src/plugins/ogg/ogg.c
++++ b/src/plugins/ogg/ogg.c
+@@ -47,8 +47,6 @@
+ int CHUNKSIZE = 4096;
+ #endif
+
+-#define MAX_CHUNKS_PER_PAGE 10
+-
+ struct stream {
+ struct lms_stream base;
+ int serial;
+@@ -122,10 +120,8 @@ _set_lms_info(struct lms_string_size *info, const char *tag)
+
+ static bool _ogg_read_page(FILE *fp, ogg_sync_state *osync, ogg_page *page)
+ {
+- int i;
+-
+- for (i = 0; i < MAX_CHUNKS_PER_PAGE && ogg_sync_pageout(osync, page) != 1;
+- i++) {
++ while(ogg_sync_pageout(osync, page) != 1)
++ {
+ lms_ogg_buffer_t buffer = lms_get_ogg_sync_buffer(osync, CHUNKSIZE);
+ int bytes = fread(buffer, 1, CHUNKSIZE, fp);
+
+@@ -136,9 +132,6 @@ static bool _ogg_read_page(FILE *fp, ogg_sync_state *osync, ogg_page *page)
+ ogg_sync_wrote(osync, bytes);
+ }
+
+- if (i > MAX_CHUNKS_PER_PAGE)
+- return false;
+-
+ return true;
+ }
+
+--
+2.7.4
+