summaryrefslogtreecommitdiff
path: root/src/cache/handlers/cdio.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cache/handlers/cdio.c')
-rw-r--r--src/cache/handlers/cdio.c9
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;