traverso-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Traverso-commit] traverso/src/core AbstractAudioReader.cpp MadAu...


From: Ben Levitt
Subject: [Traverso-commit] traverso/src/core AbstractAudioReader.cpp MadAu...
Date: Mon, 23 Jul 2007 22:33:51 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Ben Levitt <benjie>     07/07/23 22:33:51

Modified files:
        src/core       : AbstractAudioReader.cpp MadAudioReader.cpp 

Log message:
        last hunk fixes the elusive mp3 decoding problem.  The rest is clean up.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/AbstractAudioReader.cpp?cvsroot=traverso&r1=1.12&r2=1.13
http://cvs.savannah.gnu.org/viewcvs/traverso/src/core/MadAudioReader.cpp?cvsroot=traverso&r1=1.11&r2=1.12

Patches:
Index: AbstractAudioReader.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/AbstractAudioReader.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -b -r1.12 -r1.13
--- AbstractAudioReader.cpp     20 Jul 2007 23:04:20 -0000      1.12
+++ AbstractAudioReader.cpp     23 Jul 2007 22:33:50 -0000      1.13
@@ -79,7 +79,7 @@
 
 nframes_t AbstractAudioReader::read(audio_sample_t** buffer, nframes_t count)
 {
-       if (count) {
+       if (count && m_readPos < get_length()) {
        //      printf("read_from:: after_seek from %d, framepos is %d\n", 
start, m_readPos);
                nframes_t framesRead = read_private(buffer, count);
                

Index: MadAudioReader.cpp
===================================================================
RCS file: /sources/traverso/traverso/src/core/MadAudioReader.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- MadAudioReader.cpp  21 Jul 2007 01:00:23 -0000      1.11
+++ MadAudioReader.cpp  23 Jul 2007 22:33:50 -0000      1.12
@@ -825,10 +825,12 @@
                        
                        // this fills the output buffer
                        if (!createPcmSamples(d->handle->madSynth)) {
+                               PERROR("createPcmSamples");
                                return -1;
                        }
                }
                else if (d->handle->inputError()) {
+                       PERROR("inputError");
                        return -1;
                }
        }
@@ -851,12 +853,12 @@
        }
 
        // Truncate so we don't return too many frames
-       if (framesWritten > remainingFramesInFile) {
-               printf("truncating by %d!\n", framesWritten - 
remainingFramesInFile);
-               framesWritten = remainingFramesInFile;
+       if (framesWritten + m_readPos > get_length()) {
+               printf("truncating by %d!\n", get_length() - (framesWritten + 
m_readPos));
+               framesWritten = get_length() - m_readPos;
        }*/
        
-       //printf("at: %lu (total: %lu), request: %d (returned: %d)\n", 
m_readPos + framesWritten, m_frames, frameCount, framesWritten);
+       //printf("request: %d (returned: %d), now at: %lu (total: %lu)\n", 
frameCount, framesWritten, m_readPos + framesWritten, m_frames);
        
        return framesWritten;
 }
@@ -870,7 +872,7 @@
        bool            overflow = false;
        int             i;
        
-       if ((m_readPos + d->outputPos + nframes) > get_length()) {
+       if (writeBuffers && (m_readPos + d->outputPos + nframes) > 
get_length()) {
                nframes = get_length() - (m_readPos + offset);
                //printf("!!!nframes: %lu, length: %lu, current: %lu\n", 
nframes, get_length(), d->outputPos + m_readPos);
        }




reply via email to

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