From 0c474ca66e1d510cb3fbcfdce498afbf9e0c190d Mon Sep 17 00:00:00 2001 From: Jonas Suhr Christensen Date: Fri, 10 Apr 2015 20:35:43 +0200 Subject: Added CACHE_DUMMYID. --- src/cachemanager.cc | 18 ++++++++---------- src/cachemanager.h | 4 +++- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/cachemanager.cc b/src/cachemanager.cc index 2c0315d..e72ee37 100644 --- a/src/cachemanager.cc +++ b/src/cachemanager.cc @@ -65,10 +65,9 @@ void CacheManager::deinit() // Invariant: initial_samples_needed < preloaded audio data sample_t *CacheManager::open(AudioFile *file, size_t initial_samples_needed, int channel, cacheid_t &id) { - // What if no free ids is available? m_ids.lock(); if(availableids.empty()) { - id = CACHEMANAGER_NOID; + id = CACHE_DUMMYID; } else { id = availableids.front(); @@ -76,8 +75,11 @@ sample_t *CacheManager::open(AudioFile *file, size_t initial_samples_needed, int } m_ids.unlock(); - if(id != CACHEMANAGER_NOID && - initial_samples_needed < file->size) { + if(id == CACHE_DUMMYID) { + return nodata; + } + + if(initial_samples_needed < file->size) { cache_t c; c.file = file; c.channel = channel; @@ -92,16 +94,12 @@ sample_t *CacheManager::open(AudioFile *file, size_t initial_samples_needed, int pushEvent(e); } - if(id == CACHEMANAGER_NOID) { - return nodata; - } - return file->data; } void CacheManager::close(cacheid_t id) { - if(CACHEMANAGER_NOID) return; + if(CACHE_DUMMYID) return; { event_t e = createEvent(id, CLEAN); @@ -121,7 +119,7 @@ sample_t *CacheManager::next(cacheid_t id, size_t &size) { size = CHUNKSIZE; - if(id == CACHEMANAGER_NOID) { + if(id == CACHE_DUMMYID) { return nodata; } diff --git a/src/cachemanager.h b/src/cachemanager.h index 4b5c64d..19749a7 100644 --- a/src/cachemanager.h +++ b/src/cachemanager.h @@ -38,7 +38,9 @@ #include "audiotypes.h" #include "audiofile.h" -#define CACHEMANAGER_NOID -1 +#define CACHE_DUMMYID -2 +#define CACHE_NOID -1 + class AudioFile; typedef int cacheid_t; -- cgit v1.2.3