From 0c474ca66e1d510cb3fbcfdce498afbf9e0c190d Mon Sep 17 00:00:00 2001
From: Jonas Suhr Christensen <jsc@umbraculum.org>
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