Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Mueller <nexyon@gmail.com>2011-07-30 20:24:11 +0400
committerJoerg Mueller <nexyon@gmail.com>2011-07-30 20:24:11 +0400
commit4b5a371b65ca829cc169692e6ac1f78574531303 (patch)
treecd1200d4092af0b24855948baebd535bd47e9780 /intern/audaspace/FX
parent73183abfa98eeda9fb7deff8165a04ca6a28635d (diff)
3D Audio GSoC:
* Fix for sequencer strip IDs, only one strip played. * Fix for PyAPI sample rate. * Enhanced Double Reader to return more data if possible.
Diffstat (limited to 'intern/audaspace/FX')
-rw-r--r--intern/audaspace/FX/AUD_DoubleReader.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/intern/audaspace/FX/AUD_DoubleReader.cpp b/intern/audaspace/FX/AUD_DoubleReader.cpp
index 96352b0963c..e9882743d28 100644
--- a/intern/audaspace/FX/AUD_DoubleReader.cpp
+++ b/intern/audaspace/FX/AUD_DoubleReader.cpp
@@ -88,7 +88,24 @@ void AUD_DoubleReader::read(int& length, bool& eos, sample_t* buffer)
if(!m_finished1)
{
- m_reader1->read(length, m_finished1, buffer);
+ int len = length;
+
+ m_reader1->read(len, m_finished1, buffer);
+
+ if(len < length)
+ {
+ AUD_Specs specs1, specs2;
+ specs1 = m_reader1->getSpecs();
+ specs2 = m_reader2->getSpecs();
+ if(memcmp(&specs1, &specs2, sizeof(AUD_Specs)))
+ length = len;
+ else
+ {
+ int len2 = length - len;
+ m_reader2->read(len2, eos, buffer + specs1.channels * len);
+ length = len + len2;
+ }
+ }
}
else
{