traverso-commit
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]