diff options
| author | 2024-01-27 20:32:54 -0500 | |
|---|---|---|
| committer | 2024-01-27 20:32:54 -0500 | |
| commit | fb1cbf546300d9f8efdf21c6ac66f7c2f1dfd4f3 (patch) | |
| tree | 2648f4e00ba85d2f2e7a5fb3321d55cd0f5a76b6 /src | |
| parent | dd2036e23a1f800f13b821eaa862403de1aa17f0 (diff) | |
| download | camu-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')
| -rw-r--r-- | src/bimu/handlers/cdio.h | 17 | ||||
| -rw-r--r-- | src/bimu/handlers/cdio_server.c | 21 | ||||
| -rw-r--r-- | src/bimu/handlers/dvd.h | 14 | ||||
| -rw-r--r-- | src/bimu/handlers/dvd_server.c | 21 | ||||
| -rw-r--r-- | src/bimu/meson.build | 22 | ||||
| -rw-r--r-- | src/codec/meson.build | 9 | ||||
| -rw-r--r-- | src/fruits/sink/meson.build | 2 | ||||
| -rw-r--r-- | src/tree/meson.build | 2 |
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) |