From 16c39e953ef0b3df06a7aee6b510de37a2bcc15c Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Sat, 15 Apr 2017 20:01:54 +0200 Subject: Fix audio cache test - missing updateChunkSize call before processing. --- src/audiocache.cc | 2 ++ test/audiocachetest.cc | 19 ++++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/audiocache.cc b/src/audiocache.cc index aecb208..b01d752 100644 --- a/src/audiocache.cc +++ b/src/audiocache.cc @@ -68,6 +68,8 @@ sample_t* AudioCache::open(const AudioFile& file, std::size_t initial_samples_needed, int channel, cacheid_t& id) { + assert(chunk_size); // Assert updateChunkSize was called before processing. + if(!file.isValid()) { // File preload not yet ready - skip this sample. diff --git a/test/audiocachetest.cc b/test/audiocachetest.cc index ae3e8f2..0e3db10 100644 --- a/test/audiocachetest.cc +++ b/test/audiocachetest.cc @@ -57,7 +57,7 @@ public: //! \param thread Control if this test is running in threaded mode or not. //! \param framesize The initial framesize to use. void testHelper(const char* filename, int channel, bool threaded, - int framesize) + int framesize, int num_channels) { // Reference file: AudioFile audio_file_ref(filename, channel); @@ -77,6 +77,7 @@ public: // Set initial (upper limit) framesize audio_cache.setFrameSize(framesize); + audio_cache.updateChunkSize(num_channels); cacheid_t id; @@ -149,7 +150,8 @@ public: // Conduct test int channel = 0; bool threaded = false; - testHelper(filename.c_str(), channel, threaded, FRAMESIZE); + int num_channels = 1; + testHelper(filename.c_str(), channel, threaded, FRAMESIZE, num_channels); } void singleChannelThreaded() @@ -161,7 +163,8 @@ public: // Conduct test int channel = 0; bool threaded = true; - testHelper(filename.c_str(), channel, threaded, FRAMESIZE); + int num_channels = 1; + testHelper(filename.c_str(), channel, threaded, FRAMESIZE, num_channels); } void multiChannelNonThreaded() @@ -173,9 +176,10 @@ public: // Conduct test int channel = 0; bool threaded = false; - testHelper(filename.c_str(), channel, threaded, FRAMESIZE); + int num_channels = 13; + testHelper(filename.c_str(), channel, threaded, FRAMESIZE, num_channels); ++channel; - testHelper(filename.c_str(), channel, threaded, FRAMESIZE); + testHelper(filename.c_str(), channel, threaded, FRAMESIZE, num_channels); } void multiChannelThreaded() @@ -187,9 +191,10 @@ public: // Conduct test int channel = 0; bool threaded = true; - testHelper(filename.c_str(), channel, threaded, FRAMESIZE); + int num_channels = 13; + testHelper(filename.c_str(), channel, threaded, FRAMESIZE, num_channels); ++channel; - testHelper(filename.c_str(), channel, threaded, FRAMESIZE); + testHelper(filename.c_str(), channel, threaded, FRAMESIZE, num_channels); } }; -- cgit v1.2.3