projects
/
ardour.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
change API for BasicUI::goto_start() to use optional roll-after arg
[ardour.git]
/
libs
/
ardour
/
resampled_source.cc
diff --git
a/libs/ardour/resampled_source.cc
b/libs/ardour/resampled_source.cc
index 5c811706d004a57bf94eecb554121dd6962dff12..24eb12ad23bf0b2f206348e96354f5688b4e0331 100644
(file)
--- a/
libs/ardour/resampled_source.cc
+++ b/
libs/ardour/resampled_source.cc
@@
-21,7
+21,7
@@
#include "ardour/resampled_source.h"
#include "pbd/failed_constructor.h"
#include "ardour/resampled_source.h"
#include "pbd/failed_constructor.h"
-#include "i18n.h"
+#include "
pbd/
i18n.h"
using namespace ARDOUR;
using namespace PBD;
using namespace ARDOUR;
using namespace PBD;
@@
-73,14
+73,15
@@
framecnt_t
ResampledImportableSource::read (Sample* output, framecnt_t nframes)
{
int err;
ResampledImportableSource::read (Sample* output, framecnt_t nframes)
{
int err;
+ size_t bs = floor ((float)(blocksize / source->channels())) * source->channels();
/* If the input buffer is empty, refill it. */
if (_src_data.input_frames == 0) {
/* If the input buffer is empty, refill it. */
if (_src_data.input_frames == 0) {
- _src_data.input_frames = source->read (_input, b
locksize
);
+ _src_data.input_frames = source->read (_input, b
s
);
/* The last read will not be a full buffer, so set end_of_input. */
/* The last read will not be a full buffer, so set end_of_input. */
- if ((
framecnt_t) _src_data.input_frames < blocksize
) {
+ if ((
size_t) _src_data.input_frames < bs
) {
_end_of_input = true;
}
_end_of_input = true;
}