24 |
#include "AudioChannel.h" |
#include "AudioChannel.h" |
25 |
|
|
26 |
#include "../../common/global_private.h" |
#include "../../common/global_private.h" |
27 |
|
#include "../../common/Thread.h" // needed for allocAlignedMem() and freeAlignedMem() |
28 |
|
|
29 |
#if defined(__APPLE__) |
#if defined(__APPLE__) |
30 |
# include <stdlib.h> |
# include <stdlib.h> |
43 |
*/ |
*/ |
44 |
AudioChannel::AudioChannel(uint ChannelNr, uint BufferSize) { |
AudioChannel::AudioChannel(uint ChannelNr, uint BufferSize) { |
45 |
this->ChannelNr = ChannelNr; |
this->ChannelNr = ChannelNr; |
46 |
#if defined(__APPLE__) |
this->pBuffer = (float *) Thread::allocAlignedMem(16,BufferSize*sizeof(float)); |
|
this->pBuffer = (float *) malloc(BufferSize*sizeof(float)); |
|
|
#else |
|
|
this->pBuffer = (float *) memalign(16,BufferSize*sizeof(float)); |
|
|
#endif |
|
47 |
this->uiBufferSize = BufferSize; |
this->uiBufferSize = BufferSize; |
48 |
this->pMixChannel = NULL; |
this->pMixChannel = NULL; |
49 |
this->UsesExternalBuffer = false; |
this->UsesExternalBuffer = false; |
101 |
AudioChannel::~AudioChannel() { |
AudioChannel::~AudioChannel() { |
102 |
std::map<String,DeviceRuntimeParameter*>::iterator iter = Parameters.begin(); |
std::map<String,DeviceRuntimeParameter*>::iterator iter = Parameters.begin(); |
103 |
while (iter != Parameters.end()) { delete iter->second; iter++; } |
while (iter != Parameters.end()) { delete iter->second; iter++; } |
104 |
if (!UsesExternalBuffer) free(pBuffer); |
if (!UsesExternalBuffer) Thread::freeAlignedMem(pBuffer); |
105 |
} |
} |
106 |
|
|
107 |
/** |
/** |