[Top][All Lists]
[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;