[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Traverso-commit] traverso/src/audiofileio/decode ResampleAudioRe...
From: |
Ben Levitt |
Subject: |
[Traverso-commit] traverso/src/audiofileio/decode ResampleAudioRe... |
Date: |
Wed, 15 Aug 2007 17:09:02 +0000 |
CVSROOT: /sources/traverso
Module name: traverso
Changes by: Ben Levitt <benjie> 07/08/15 17:09:02
Modified files:
src/audiofileio/decode: ResampleAudioReader.cpp
Log message:
Fix end-of-file 0-padding logic in Resampler, change some c variables
to chan :)
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/ResampleAudioReader.cpp?cvsroot=traverso&r1=1.3&r2=1.4
Patches:
Index: ResampleAudioReader.cpp
===================================================================
RCS file:
/sources/traverso/traverso/src/audiofileio/decode/ResampleAudioReader.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- ResampleAudioReader.cpp 14 Aug 2007 10:49:53 -0000 1.3
+++ ResampleAudioReader.cpp 15 Aug 2007 17:09:02 -0000 1.4
@@ -174,8 +174,8 @@
m_fileBufferLength = fileCnt + OVERFLOW_SIZE;
}
- for (int c = 0; c < m_channels; c++) {
- m_filePointers[c] = m_fileBuffers[c] + m_overflowUsed;
+ for (int chan = 0; chan < m_channels; chan++) {
+ m_filePointers[chan] = m_fileBuffers[chan] +
m_overflowUsed;
}
// FIXME : this is of course very scary, needs proper fix!
@@ -193,16 +193,16 @@
framesToConvert = m_length - m_readPos;
}
- for (int c = 0; c < m_channels; c++) {
+ for (int chan = 0; chan < m_channels; chan++) {
// Set up sample rate converter struct for s.r.c. processing
- m_srcData.data_in = m_fileBuffers[c];
+ m_srcData.data_in = m_fileBuffers[chan];
m_srcData.input_frames = bufferUsed;
- m_srcData.data_out = buffer->destination[c];
+ m_srcData.data_out = buffer->destination[chan];
m_srcData.output_frames = framesToConvert;
m_srcData.src_ratio = (double) m_outputRate / m_rate;
- src_set_ratio(m_srcStates[c], m_srcData.src_ratio);
+ src_set_ratio(m_srcStates[chan], m_srcData.src_ratio);
- if (src_process(m_srcStates[c], &m_srcData)) {
+ if (src_process(m_srcStates[chan], &m_srcData)) {
PERROR("Resampler: src_process() error!");
return 0;
}
@@ -216,20 +216,19 @@
}
if ((nframes_t)m_srcData.input_frames_used < bufferUsed) {
- for (int c = 0; c < m_channels; c++) {
- memmove(m_fileBuffers[c], m_fileBuffers[c] +
m_srcData.input_frames_used, m_overflowUsed * sizeof(audio_sample_t));
+ for (int chan = 0; chan < m_channels; chan++) {
+ memmove(m_fileBuffers[chan], m_fileBuffers[chan] +
m_srcData.input_frames_used, m_overflowUsed * sizeof(audio_sample_t));
}
}
// Pad end of file with 0s if necessary
if (framesRead == 0 && m_readPos < get_length()) {
- // NOTE WHOOPTYDOOOO, are you sure about this Ben ???
- int padLength = m_readPos;
- for (int c = 0; c < m_channels; c++) {
- memset(buffer->destination[c] + framesRead, 0,
padLength * sizeof(audio_sample_t));
+ int padLength = get_length() - m_readPos;
+ printf("Resampler: padding: %d\n", padLength);
+ for (int chan = 0; chan < m_channels; chan++) {
+ memset(buffer->destination[chan], 0, padLength *
sizeof(audio_sample_t));
}
framesRead += padLength;
- printf("Resampler: padding: %d\n", padLength);
}
// Truncate so we don't return too many samples
- [Traverso-commit] traverso/src/audiofileio/decode ResampleAudioRe...,
Ben Levitt <=