summaryrefslogtreecommitdiff
path: root/src/bimu
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2024-01-27 20:32:54 -0500
committerAndrew Opalach <andrew@akon.city> 2024-01-27 20:32:54 -0500
commitfb1cbf546300d9f8efdf21c6ac66f7c2f1dfd4f3 (patch)
tree2648f4e00ba85d2f2e7a5fb3321d55cd0f5a76b6 /src/bimu
parentdd2036e23a1f800f13b821eaa862403de1aa17f0 (diff)
downloadcamu-fb1cbf546300d9f8efdf21c6ac66f7c2f1dfd4f3.tar.gz
camu-fb1cbf546300d9f8efdf21c6ac66f7c2f1dfd4f3.tar.bz2
camu-fb1cbf546300d9f8efdf21c6ac66f7c2f1dfd4f3.zip
Improve build and add dependencies
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/bimu')
-rw-r--r--src/bimu/handlers/cdio.h17
-rw-r--r--src/bimu/handlers/cdio_server.c21
-rw-r--r--src/bimu/handlers/dvd.h14
-rw-r--r--src/bimu/handlers/dvd_server.c21
-rw-r--r--src/bimu/meson.build22
5 files changed, 92 insertions, 3 deletions
diff --git a/src/bimu/handlers/cdio.h b/src/bimu/handlers/cdio.h
new file mode 100644
index 0000000..0f614af
--- /dev/null
+++ b/src/bimu/handlers/cdio.h
@@ -0,0 +1,17 @@
+#pragma once
+
+#include <cdio/paranoia/cdda.h>
+#include <cdio/cd_types.h>
+
+#include "../handler.h"
+
+struct bmu_cdio_server {
+ struct bmu_server_handler handler;
+};
+
+struct bmu_cdio_client {
+ struct bmu_client_handler handler;
+};
+
+struct bmu_server_handler *bmu_cdio_server_create(void);
+struct bmu_client_handler *bmu_cdio_client_create(void);
diff --git a/src/bimu/handlers/cdio_server.c b/src/bimu/handlers/cdio_server.c
new file mode 100644
index 0000000..151b94f
--- /dev/null
+++ b/src/bimu/handlers/cdio_server.c
@@ -0,0 +1,21 @@
+#include "cdio.h"
+
+static bool cdio_server_init(struct bmu_server_handler *handler, struct cch_handle *handle,
+ struct aki_packet_pool *pool)
+{
+ struct bmu_cdio_server *cdio = (struct bmu_cdio_server *)handler;
+ return true;
+}
+
+struct bmu_server_handler *bmu_cdio_server_create(void)
+{
+ struct bmu_cdio_server *cdio = al_alloc_object(struct bmu_cdio_server);
+ cdio->handler.init = cdio_server_init;
+// cdio->handler.write_info = cdio_server_write_info;
+// cdio->handler.subscribe = cdio_server_subscribe;
+// cdio->handler.get_duration = cdio_server_get_duration;
+// cdio->handler.seek = cdio_server_seek;
+// cdio->handler.step = cdio_server_step;
+// cdio->handler.free = cdio_server_free;
+ return (struct bmu_server_handler *)cdio;
+}
diff --git a/src/bimu/handlers/dvd.h b/src/bimu/handlers/dvd.h
new file mode 100644
index 0000000..db9bfe9
--- /dev/null
+++ b/src/bimu/handlers/dvd.h
@@ -0,0 +1,14 @@
+#pragma once
+
+#include "../handler.h"
+
+struct bmu_dvd_server {
+ struct bmu_server_handler handler;
+};
+
+struct bmu_dvd_client {
+ struct bmu_client_handler handler;
+};
+
+struct bmu_server_handler *bmu_dvd_server_create(void);
+struct bmu_client_handler *bmu_dvd_client_create(void);
diff --git a/src/bimu/handlers/dvd_server.c b/src/bimu/handlers/dvd_server.c
new file mode 100644
index 0000000..ea3a9d9
--- /dev/null
+++ b/src/bimu/handlers/dvd_server.c
@@ -0,0 +1,21 @@
+#include "dvd.h"
+
+static bool dvd_server_init(struct bmu_server_handler *handler, struct cch_handle *handle,
+ struct aki_packet_pool *pool)
+{
+ struct bmu_dvd_server *dvd = (struct bmu_dvd_server *)handler;
+ return true;
+}
+
+struct bmu_server_handler *bmu_dvd_server_create(void)
+{
+ struct bmu_dvd_server *dvd = al_alloc_object(struct bmu_dvd_server);
+ dvd->handler.init = dvd_server_init;
+// dvd->handler.write_info = dvd_server_write_info;
+// dvd->handler.subscribe = dvd_server_subscribe;
+// dvd->handler.get_duration = dvd_server_get_duration;
+// dvd->handler.seek = dvd_server_seek;
+// dvd->handler.step = dvd_server_step;
+// dvd->handler.free = dvd_server_free;
+ return (struct bmu_server_handler *)dvd;
+}
diff --git a/src/bimu/meson.build b/src/bimu/meson.build
index c7de266..cc1ff43 100644
--- a/src/bimu/meson.build
+++ b/src/bimu/meson.build
@@ -2,12 +2,28 @@ bimu_server_src = [
'server.c',
'handlers/codec_server.c'
]
-
bimu_client_src = [
'client.c',
'vcr.c',
'handlers/codec_client.c'
]
+bimu_server_deps = [av_server]
+bimu_client_deps = [av_client]
+
+#libcdio_paranoia = dependency('libcdio_paranoia', required: false, allow_fallback: true)
+#libcdio_cdda = dependency('libcdio_cdda', required: false, allow_fallback: true)
+#if libcdio_paranoia.found() and libcdio_cdda.found()
+# bimu_server_src += ['handlers/cdio_server.c']
+# bimu_server_deps += [libcdio_paranoia, libcdio_cdda]
+#endif
+#
+#libdvdcss = dependency('libdvdcss', required: false, allow_fallback: true)
+#libdvdread = dependency('libdvdread', required: false, allow_fallback: true)
+#libdvdnav = dependency('libdvdnav', required: false, allow_fallback: true)
+#if libdvdcss.found() and libdvdread.found() and libdvdnav.found()
+# bimu_server_src += ['handlers/dvd_server.c']
+# bimu_server_deps += [libdvdcss]
+#endif
-bimu_server = declare_dependency(sources: bimu_server_src)
-bimu_client = declare_dependency(sources: bimu_client_src)
+bimu_server = declare_dependency(sources: bimu_server_src, dependencies: bimu_server_deps)
+bimu_client = declare_dependency(sources: bimu_client_src, dependencies: bimu_client_deps)