diff options
Diffstat (limited to 'src/codec/spng')
| -rw-r--r-- | src/codec/spng/meson.build | 7 | ||||
| -rw-r--r-- | src/codec/spng/server.c | 7 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/codec/spng/meson.build b/src/codec/spng/meson.build index d8af781..f99a885 100644 --- a/src/codec/spng/meson.build +++ b/src/codec/spng/meson.build @@ -1,3 +1,6 @@ spng = dependency('spng') -codec_server_deps += [declare_dependency(sources: ['server.c'], dependencies: spng)] -codec_client_deps += [declare_dependency(sources: ['client.c'], dependencies: spng)] +spng_args = ['-DCAMU_HAVE_SPNG'] +codec_server_deps += declare_dependency(sources: ['server.c'], + dependencies: spng, compile_args: spng_args) +codec_client_deps += declare_dependency(sources: ['client.c'], + dependencies: spng, compile_args: spng_args) diff --git a/src/codec/spng/server.c b/src/codec/spng/server.c index 8eb941b..1bb2ca8 100644 --- a/src/codec/spng/server.c +++ b/src/codec/spng/server.c @@ -13,7 +13,8 @@ static bool spng_demuxer_init(struct camu_demuxer *demux, struct cch_handle *han spng->eof = false; cch_handle_seek(spng->handle, 0, SEEK_SET); - off_t size = cch_entry_get_size(spng->handle->entry); + struct cch_backing *backing = spng->handle->entry->backing; + off_t size = backing->get_size_if_known(backing); nn_buffer_ensure_space(&spng->buffer, size); cch_handle_read(spng->handle, nn_buffer_get_ptr(&spng->buffer, 0), size); spng->buffer.size = size; @@ -59,10 +60,11 @@ static u64 spng_demuxer_get_duration(struct camu_demuxer *demux) return 0; } -static bool spng_demuxer_seek(struct camu_demuxer *demux, u64 pos) +static bool spng_demuxer_seek(struct camu_demuxer *demux, u64 pos, bool bytes) { (void)demux; (void)pos; + (void)bytes; return true; } @@ -75,7 +77,6 @@ static void spng_demuxer_free(struct camu_demuxer **demux) *demux = NULL; } - struct camu_demuxer *camu_spng_demuxer_create(void) { struct camu_spng_demuxer *spng = al_alloc_object(struct camu_spng_demuxer); |