summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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
-rw-r--r--src/codec/meson.build9
-rw-r--r--src/fruits/sink/meson.build2
-rw-r--r--src/tree/meson.build2
8 files changed, 98 insertions, 10 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)
diff --git a/src/codec/meson.build b/src/codec/meson.build
index 20524a4..4ca9c53 100644
--- a/src/codec/meson.build
+++ b/src/codec/meson.build
@@ -13,8 +13,8 @@ av_client_src = [
'libav/decoder.c',
'libav/resampler.c'
]
-av_ldflags = []
av_inc = []
+av_args = []
av_server_deps = []
av_client_deps = []
av_client_use_scaler = false
@@ -36,7 +36,6 @@ if not (libavutil.found() and libavformat.found() and libavcodec.found() and lib
libavcodec = av_proj.get_variable('avcodec')
libswresample = av_proj.get_variable('swresample')
libswscale = av_proj.get_variable('swscale')
- av_ldflags += ['-L' + av_proj.get_variable('av_lib_dir')]
# Only used to set include dirs for libav.
av_inc_dep = av_proj.get_variable('av_inc_dep')
av_server_deps += [av_inc_dep]
@@ -50,16 +49,16 @@ if not (libavutil.found() and libavformat.found() and libavcodec.found() and lib
endif
if libavutil.found() and libavformat.found() and libavcodec.found() and libswresample.found() and libswscale.found()
+ av_args += ['-DHAVE_FFMPEG']
av_server_deps += [libavutil, libavformat, libavcodec]
av_client_deps += [libavutil, libavformat, libavcodec, libswresample]
if av_client_use_scaler
av_client_deps += [libswscale]
endif
av_server = declare_dependency(sources: av_server_src, dependencies: av_server_deps,
- include_directories: av_inc, link_args: av_ldflags)
+ include_directories: av_inc, compile_args: av_args)
av_client = declare_dependency(sources: av_client_src, dependencies: av_client_deps,
- include_directories: av_inc, link_args: av_ldflags)
- add_project_arguments('-DHAVE_FFMPEG', language: ['c', 'cpp'])
+ include_directories: av_inc, compile_args: av_args)
endif
stb_image = declare_dependency(sources: ['stb_image/impl.c'],
diff --git a/src/fruits/sink/meson.build b/src/fruits/sink/meson.build
index e4f00e6..3986d7d 100644
--- a/src/fruits/sink/meson.build
+++ b/src/fruits/sink/meson.build
@@ -1,5 +1,5 @@
sink_src = ['sink.c']
-sink_deps = [common_deps, av_client, buffer, render, screen, mixer, libsink]
+sink_deps = [common_deps, buffer, render, screen, mixer, libsink]
sink_args = []
use_tui = false
diff --git a/src/tree/meson.build b/src/tree/meson.build
index bb049cb..3aba0a6 100644
--- a/src/tree/meson.build
+++ b/src/tree/meson.build
@@ -3,5 +3,5 @@ tree_src = [
'resource_manager.c',
'list.c'
]
-tree_deps = [common_deps, shoki, cache, av_server, bimu_server]
+tree_deps = [common_deps, shoki, cache, bimu_server]
executable('tree', sources: tree_src, dependencies: tree_deps)