diff options
| author | 2026-08-26 17:56:52 -0400 | |
|---|---|---|
| committer | 2026-08-26 17:56:52 -0400 | |
| commit | 197d41a3e23cab35848f623c6133baccc62aacbe (patch) | |
| tree | 04943c1de9653de53615e10ced1eab07c2562325 /src/liana/handlers | |
| parent | 6094c907b26e21f13373bae6bf3306dbae40af3c (diff) | |
| download | camu-197d41a3e23cab35848f623c6133baccc62aacbe.tar.gz camu-197d41a3e23cab35848f623c6133baccc62aacbe.tar.bz2 camu-197d41a3e23cab35848f623c6133baccc62aacbe.zip | |
OSD stuff and Android fixes
Signed-off-by: Andrew Opalach <andrew@akon.city>
Diffstat (limited to 'src/liana/handlers')
| -rw-r--r-- | src/liana/handlers/cdio_server.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/liana/handlers/cdio_server.c b/src/liana/handlers/cdio_server.c index c67330d..65bd990 100644 --- a/src/liana/handlers/cdio_server.c +++ b/src/liana/handlers/cdio_server.c @@ -6,7 +6,7 @@ #include "cdio.h" -#define SECTORS_PER_PACKET 8 +#define SAMPLES_PER_PACKET 128 static bool cdio_server_init(struct lia_server_handler *handler, struct cch_handle *handle) { @@ -75,7 +75,8 @@ static void cdio_server_step(struct lia_server_handler *handler) static void cdio_server_write_packet(struct lia_server_handler *handler, struct nn_packet *packet) { struct lia_cdio_server *cdio = (struct lia_cdio_server *)handler; - off_t size = CDIO_CD_FRAMESIZE_RAW * SECTORS_PER_PACKET; + size_t bps = camu_audio_format_bytes_per_sample(&cdio->fmt) * cdio->fmt.channel_count; + off_t size = bps * SAMPLES_PER_PACKET; nn_buffer_ensure_space(&cdio->buffer, size); s32 ret = cch_handle_read(cdio->handle, nn_buffer_get_ptr(&cdio->buffer, 0), size); if (ret == CAMU_ERR_EOF) { @@ -87,7 +88,8 @@ static void cdio_server_write_packet(struct lia_server_handler *handler, struct nn_packet_write_u8(packet, LIANA_PACKET_DATA); nn_packet_write_s32(packet, 0); nn_packet_write_f64(packet, cdio->pts); - s32 sample_count = ret / (camu_audio_format_bytes_per_sample(&cdio->fmt) * cdio->fmt.channel_count); + al_assert(ret % bps == 0); + s32 sample_count = ret / bps; nn_packet_write_s32(packet, sample_count); cdio->buffer.size = ret; nn_packet_write_buffer(packet, &cdio->buffer); |