From 7aac277ce1843676084c07365104ee5ac9210695 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Tue, 9 Aug 2011 12:53:24 +0000 Subject: Add a few asserts. git-svn-id: svn://localhost/ardour2/branches/3.0@9966 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/audioregion.cc | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'libs/ardour/audioregion.cc') diff --git a/libs/ardour/audioregion.cc b/libs/ardour/audioregion.cc index c0de894e7d..4e02c83ed5 100644 --- a/libs/ardour/audioregion.cc +++ b/libs/ardour/audioregion.cc @@ -364,10 +364,13 @@ AudioRegion::master_read_at (Sample *buf, Sample *mixdown_buffer, float *gain_bu { /* do not read gain/scaling/fades and do not count this disk i/o in statistics */ + assert (cnt >= 0); + return _read_at (_master_sources, _master_sources.front()->length(_master_sources.front()->timeline_position()), buf, mixdown_buffer, gain_buffer, position, cnt, chan_n, ReadOps (0)); } +/** @param position Position within the session */ framecnt_t AudioRegion::_read_at (const SourceList& srcs, framecnt_t limit, Sample *buf, Sample *mixdown_buffer, float *gain_buffer, @@ -376,6 +379,8 @@ AudioRegion::_read_at (const SourceList& srcs, framecnt_t limit, uint32_t chan_n, ReadOps rops) const { + assert (cnt >= 0); + frameoffset_t internal_offset; frameoffset_t buf_offset; framecnt_t to_read; @@ -394,6 +399,9 @@ AudioRegion::_read_at (const SourceList& srcs, framecnt_t limit, if (position < _position) { internal_offset = 0; buf_offset = _position - position; + /* if this fails then the requested section is entirely + before the position of this region */ + assert (cnt >= buf_offset); cnt -= buf_offset; } else { internal_offset = position - _position; -- cgit v1.2.3