traverso-commit
[Top][All Lists]
Advanced

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

[Traverso-commit] traverso/src/audiofileio/decode AbstractAudioRe...


From: Remon Sijrier
Subject: [Traverso-commit] traverso/src/audiofileio/decode AbstractAudioRe...
Date: Thu, 20 Sep 2007 16:04:27 +0000

CVSROOT:        /sources/traverso
Module name:    traverso
Changes by:     Remon Sijrier <r_sijrier>       07/09/20 16:04:27

Modified files:
        src/audiofileio/decode: AbstractAudioReader.cpp 
                                AbstractAudioReader.h 
                                ResampleAudioReader.h 

Log message:
        * do not mess with the destination buffer during a child read!! (P.S. 
this child read stuff is still suboptimal, oh well)

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/AbstractAudioReader.cpp?cvsroot=traverso&r1=1.11&r2=1.12
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/AbstractAudioReader.h?cvsroot=traverso&r1=1.14&r2=1.15
http://cvs.savannah.gnu.org/viewcvs/traverso/src/audiofileio/decode/ResampleAudioReader.h?cvsroot=traverso&r1=1.7&r2=1.8

Patches:
Index: AbstractAudioReader.cpp
===================================================================
RCS file: 
/sources/traverso/traverso/src/audiofileio/decode/AbstractAudioReader.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -b -r1.11 -r1.12
--- AbstractAudioReader.cpp     19 Sep 2007 21:33:56 -0000      1.11
+++ AbstractAudioReader.cpp     20 Sep 2007 16:04:27 -0000      1.12
@@ -175,7 +175,7 @@
        resampleBuffer = 0;
        readBuffer = 0;
        origDestination = 0;
-       m_noDestBuffer = false;
+       m_noDestBuffer = m_childReadActive = false;
        m_channels = destinationBufferSize = resampleBufferSize = 
readBufferSize = 0;
        m_bufferSizeCheckCounter = m_totalCheckSize = m_smallerReadCounter = 0;
                
@@ -198,7 +198,7 @@
        }*/
                                
                
-       if (destinationBufferSize < size || m_channels < channels) {
+       if ((destinationBufferSize < size || m_channels < channels) && 
!m_childReadActive) {
                        
                delete_destination_buffers();
                        

Index: AbstractAudioReader.h
===================================================================
RCS file: 
/sources/traverso/traverso/src/audiofileio/decode/AbstractAudioReader.h,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -b -r1.14 -r1.15
--- AbstractAudioReader.h       19 Sep 2007 21:33:57 -0000      1.14
+++ AbstractAudioReader.h       20 Sep 2007 16:04:27 -0000      1.15
@@ -42,6 +42,7 @@
        
        void prepare_for_child_read(nframes_t offset) {
                if (resampleBuffer) {
+                       m_childReadActive = true;
                        origDestination = destination;
                        destination = resampleBuffer;
                        
@@ -55,6 +56,7 @@
        
        void finish_child_read(nframes_t offset) {
                if (origDestination) {
+                       m_childReadActive = false;
                        destination = origDestination;
                        origDestination = 0;
                        
@@ -78,6 +80,7 @@
        uint m_bufferSizeCheckCounter;
        audio_sample_t** origDestination; // Used to store destination during a 
child read in the resampler
        bool m_noDestBuffer;
+       bool m_childReadActive;
        
        void delete_destination_buffers();
        void delete_readbuffer();

Index: ResampleAudioReader.h
===================================================================
RCS file: 
/sources/traverso/traverso/src/audiofileio/decode/ResampleAudioReader.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -b -r1.7 -r1.8
--- ResampleAudioReader.h       11 Sep 2007 14:30:43 -0000      1.7
+++ ResampleAudioReader.h       20 Sep 2007 16:04:27 -0000      1.8
@@ -50,7 +50,6 @@
        nframes_t resampled_to_file_frame(nframes_t frame);
        nframes_t file_to_resampled_frame(nframes_t frame);
        
-       bool                    m_valid;
        AbstractAudioReader*    m_reader;
        QVector<SRC_STATE*>     m_srcStates;
        SRC_DATA                m_srcData;




reply via email to

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