diff options
author | Joerg Mueller <nexyon@gmail.com> | 2011-06-14 16:13:19 +0400 |
---|---|---|
committer | Joerg Mueller <nexyon@gmail.com> | 2011-06-14 16:13:19 +0400 |
commit | d8974a60f6811faa2872b55eda41b03387614ed1 (patch) | |
tree | a517f14ea860a1c0111fe758c293d9471dca7496 /intern/audaspace/intern/AUD_ChannelMapperReader.cpp | |
parent | 8ff0c2e10720bd6e583a6b133b75e7bdff27a5f8 (diff) |
3D Audio GSoC:
Changed Readers to top-down architecture instead of bottom-up.
Diffstat (limited to 'intern/audaspace/intern/AUD_ChannelMapperReader.cpp')
-rw-r--r-- | intern/audaspace/intern/AUD_ChannelMapperReader.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/intern/audaspace/intern/AUD_ChannelMapperReader.cpp b/intern/audaspace/intern/AUD_ChannelMapperReader.cpp index 3079d31c9e9..a70eebc192c 100644 --- a/intern/audaspace/intern/AUD_ChannelMapperReader.cpp +++ b/intern/audaspace/intern/AUD_ChannelMapperReader.cpp @@ -76,16 +76,15 @@ AUD_Specs AUD_ChannelMapperReader::getSpecs() const return m_specs; } -void AUD_ChannelMapperReader::read(int & length, sample_t* & buffer) +void AUD_ChannelMapperReader::read(int & length, sample_t* buffer) { - sample_t* in = buffer; + if(m_buffer.getSize() < length * m_rch * sizeof(sample_t)) + m_buffer.resize(length * m_rch * sizeof(sample_t)); - m_reader->read(length, in); + sample_t* in = m_buffer.getBuffer(); - if(m_buffer.getSize() < length * AUD_SAMPLE_SIZE(m_specs)) - m_buffer.resize(length * AUD_SAMPLE_SIZE(m_specs)); + m_reader->read(length, in); - buffer = m_buffer.getBuffer(); sample_t sum; for(int i = 0; i < length; i++) |