diff options
Diffstat (limited to 'src/audio')
| -rw-r--r-- | src/audio/backend/miniaudio_backend.cc | 4 | ||||
| -rw-r--r-- | src/audio/ring_buffer.cc | 18 | ||||
| -rw-r--r-- | src/audio/tracker.cc | 2 |
3 files changed, 12 insertions, 12 deletions
diff --git a/src/audio/backend/miniaudio_backend.cc b/src/audio/backend/miniaudio_backend.cc index 26194c9..a921453 100644 --- a/src/audio/backend/miniaudio_backend.cc +++ b/src/audio/backend/miniaudio_backend.cc @@ -86,7 +86,7 @@ void MiniaudioBackend::audio_callback(ma_device* pDevice, void* pOutput, last_frameCount = frameCount; // Validate device state - FATAL_CHECK(!pDevice || pDevice->sampleRate == 0, + FATAL_CHECK(pDevice && pDevice->sampleRate != 0, "Invalid device in callback!\n"); // Check actual sample rate matches our expectation @@ -104,7 +104,7 @@ void MiniaudioBackend::audio_callback(ma_device* pDevice, void* pOutput, float* fOutput = (float*)pOutput; // BOUNDS CHECK: Sanity check on frameCount - FATAL_CHECK(frameCount > 8192 || frameCount == 0, + FATAL_CHECK(frameCount <= 8192 && frameCount > 0, "AUDIO CALLBACK ERROR: frameCount=%u (unreasonable!)\n", frameCount); diff --git a/src/audio/ring_buffer.cc b/src/audio/ring_buffer.cc index 54dd25b..b3152a0 100644 --- a/src/audio/ring_buffer.cc +++ b/src/audio/ring_buffer.cc @@ -51,7 +51,7 @@ int AudioRingBuffer::write(const float* samples, int count) { const int write = write_pos_.load(std::memory_order_acquire); // BOUNDS CHECK: Validate write position - FATAL_CHECK(write < 0 || write >= capacity_, + FATAL_CHECK(write >= 0 && write < capacity_, "write_pos out of bounds! write=%d, capacity=%d\n", write, capacity_); @@ -60,7 +60,7 @@ int AudioRingBuffer::write(const float* samples, int count) { if (to_write <= space_to_end) { // Write in one chunk // BOUNDS CHECK - FATAL_CHECK(write < 0 || write + to_write > capacity_, + FATAL_CHECK(write >= 0 && write + to_write <= capacity_, "BOUNDS ERROR in write(): write=%d, to_write=%d, capacity=%d\n", write, to_write, capacity_); memcpy(&buffer_[write], samples, to_write * sizeof(float)); @@ -68,14 +68,14 @@ int AudioRingBuffer::write(const float* samples, int count) { } else { // Write in two chunks (wrap around) // BOUNDS CHECK - first chunk - FATAL_CHECK(write < 0 || write + space_to_end > capacity_, + FATAL_CHECK(write >= 0 && write + space_to_end <= capacity_, "BOUNDS ERROR in write() chunk1: write=%d, space_to_end=%d, " "capacity=%d\n", write, space_to_end, capacity_); memcpy(&buffer_[write], samples, space_to_end * sizeof(float)); const int remainder = to_write - space_to_end; // BOUNDS CHECK - second chunk - FATAL_CHECK(remainder < 0 || remainder > capacity_, + FATAL_CHECK(remainder >= 0 && remainder <= capacity_, "BOUNDS ERROR in write() chunk2: remainder=%d, capacity=%d\n", remainder, capacity_); memcpy(&buffer_[0], samples + space_to_end, remainder * sizeof(float)); @@ -96,7 +96,7 @@ int AudioRingBuffer::read(float* samples, int count) { const int read = read_pos_.load(std::memory_order_acquire); // BOUNDS CHECK: Validate read position - FATAL_CHECK(read < 0 || read >= capacity_, + FATAL_CHECK(read >= 0 && read < capacity_, "read_pos out of bounds! read=%d, capacity=%d\n", read, capacity_); @@ -105,7 +105,7 @@ int AudioRingBuffer::read(float* samples, int count) { if (to_read <= space_to_end) { // Read in one chunk // BOUNDS CHECK - FATAL_CHECK(read < 0 || read + to_read > capacity_, + FATAL_CHECK(read >= 0 && read + to_read <= capacity_, "BOUNDS ERROR in read(): read=%d, to_read=%d, capacity=%d\n", read, to_read, capacity_); memcpy(samples, &buffer_[read], to_read * sizeof(float)); @@ -113,14 +113,14 @@ int AudioRingBuffer::read(float* samples, int count) { } else { // Read in two chunks (wrap around) // BOUNDS CHECK - first chunk - FATAL_CHECK(read < 0 || read + space_to_end > capacity_, + FATAL_CHECK(read >= 0 && read + space_to_end <= capacity_, "BOUNDS ERROR in read() chunk1: read=%d, space_to_end=%d, " "capacity=%d\n", read, space_to_end, capacity_); memcpy(samples, &buffer_[read], space_to_end * sizeof(float)); const int remainder = to_read - space_to_end; // BOUNDS CHECK - second chunk - FATAL_CHECK(remainder < 0 || remainder > capacity_, + FATAL_CHECK(remainder >= 0 && remainder <= capacity_, "BOUNDS ERROR in read() chunk2: remainder=%d, capacity=%d\n", remainder, capacity_); memcpy(samples + space_to_end, &buffer_[0], remainder * sizeof(float)); @@ -169,7 +169,7 @@ void AudioRingBuffer::commit_write(int num_samples) { const int write = write_pos_.load(std::memory_order_acquire); // BOUNDS CHECK - FATAL_CHECK(write < 0 || write + num_samples > capacity_, + FATAL_CHECK(write >= 0 && write + num_samples <= capacity_, "commit_write out of bounds: write=%d, num_samples=%d, " "capacity=%d\n", write, num_samples, capacity_); diff --git a/src/audio/tracker.cc b/src/audio/tracker.cc index 38c814d..e7da26a 100644 --- a/src/audio/tracker.cc +++ b/src/audio/tracker.cc @@ -149,7 +149,7 @@ void tracker_init() { for (uint32_t pid = 0; pid < g_tracker_patterns_count; ++pid) { const TrackerPattern& pattern = g_tracker_patterns[pid]; for (uint32_t i = 1; i < pattern.num_events; ++i) { - FATAL_CHECK(pattern.events[i].unit_time < pattern.events[i - 1].unit_time, + FATAL_CHECK(pattern.events[i].unit_time >= pattern.events[i - 1].unit_time, "Pattern %d has unsorted events: event[%d].time=%.3f < " "event[%d].time=%.3f\n", pid, i, pattern.events[i].unit_time, i - 1, |
