00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #include "AudioFileReader.h"
00017
00018 void
00019 AudioFileReader::getDeInterleavedFrames(size_t start, size_t count,
00020 std::vector<SampleBlock> &frames) const
00021 {
00022 SampleBlock interleaved;
00023 getInterleavedFrames(start, count, interleaved);
00024
00025 size_t channels = getChannelCount();
00026 size_t rc = interleaved.size() / channels;
00027
00028 frames.clear();
00029
00030 for (size_t c = 0; c < channels; ++c) {
00031 frames.push_back(SampleBlock());
00032 }
00033
00034 for (size_t i = 0; i < rc; ++i) {
00035 for (size_t c = 0; c < channels; ++c) {
00036 frames[c].push_back(interleaved[i * channels + c]);
00037 }
00038 }
00039 }
00040