diff options
Diffstat (limited to 'src/cache/handlers/cdio.c')
| -rw-r--r-- | src/cache/handlers/cdio.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/cache/handlers/cdio.c b/src/cache/handlers/cdio.c index 8326868..90c5ce9 100644 --- a/src/cache/handlers/cdio.c +++ b/src/cache/handlers/cdio.c @@ -1,6 +1,7 @@ #define AL_LOG_SECTION "cache_cdio" //#define AL_LOG_ENABLE_TRACE #include <al/log.h> +#include <nnwt/common.h> #include "../../codec/codec.h" @@ -51,9 +52,10 @@ static nn_thread_result NNWT_THREADCALL cd_read_thread(void *userdata) cdio_log_messages(cdio); al_assert(ret <= SECTORS_PER_STEP); off_t pointer = cdio->sector * CDIO_CD_FRAMESIZE_RAW; - size_t size; + size_t size = BYTES_PER_STEP; u8 *ptr = cdio->backing->get_ptr(cdio->backing, pointer, &size); al_assert(size >= BYTES_PER_STEP); + log_trace("cdio_read(), ret: %ld, size: %zu", ret, size); if (ret == SECTORS_PER_STEP) { al_memcpy(ptr, nn_buffer_get_ptr(&cdio->buffer, 0), BYTES_PER_STEP); } else if (ret == -10) { @@ -192,7 +194,10 @@ static bool open_cd_drive(struct cch_handler_cdio *cdio) struct cch_entry *cch_handler_cdio_create(void) { - struct cch_backing *backing = cch_backing_file_create(&al_str_c("/tmp/camu_cd_data"), 4096); + str tmpfile; + al_str_clone(&tmpfile, &nn_temp_directory); + nn_path_append(&tmpfile, &al_str_c("camu_cd_data")); + struct cch_backing *backing = cch_backing_file_create(&tmpfile, 4096); if (!backing) return NULL; struct cch_handler_cdio *cdio = al_alloc_object(struct cch_handler_cdio); cdio->backing = backing; |