summaryrefslogtreecommitdiff
path: root/orkaudio/audiocaptureplugins/sounddevice
diff options
context:
space:
mode:
authorHenri Herscher <henri@oreka.org>2006-01-20 22:38:18 +0000
committerHenri Herscher <henri@oreka.org>2006-01-20 22:38:18 +0000
commite07f34274b8912f773993ed96624242115440a3b (patch)
tree6b2f35398ceb7ff5c6a5afc9991f9a3670cb3a27 /orkaudio/audiocaptureplugins/sounddevice
parent4ab4f3d3b2f0c3c51922eaeea49df162a9c892cd (diff)
VoIP mixing and decoding does now happen in the batch processing thread instead of immediately. Additionally, the system now supports filter plugins such as codecs.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@120 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkaudio/audiocaptureplugins/sounddevice')
-rw-r--r--orkaudio/audiocaptureplugins/sounddevice/SoundDevice.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/orkaudio/audiocaptureplugins/sounddevice/SoundDevice.cpp b/orkaudio/audiocaptureplugins/sounddevice/SoundDevice.cpp
index 5326152..db791ad 100644
--- a/orkaudio/audiocaptureplugins/sounddevice/SoundDevice.cpp
+++ b/orkaudio/audiocaptureplugins/sounddevice/SoundDevice.cpp
@@ -65,12 +65,20 @@ int portAudioCallBack(void *inputBuffer, void *outputBuffer, unsigned long frame
leftBuffer[sampleId] = inputSamples[2*sampleId+1];
}
AudioChunkRef chunkRef(new AudioChunk);
- chunkRef->SetBuffer(rightBuffer, sizeof(short)*framesPerBuffer, AudioChunk::PcmAudio, 0, 0, DLLCONFIG.m_sampleRate);
+ AudioChunkDetails rightDetails;
+ rightDetails.m_encoding = PcmAudio;
+ rightDetails.m_sampleRate = DLLCONFIG.m_sampleRate;
+ rightDetails.m_channel = 1;
+ chunkRef->SetBuffer(rightBuffer, sizeof(short)*framesPerBuffer, rightDetails);
portName.Format("port%d-%d", device->deviceID, 1);
g_audioChunkCallBack(chunkRef, portName);
chunkRef.reset(new AudioChunk);
- chunkRef->SetBuffer(leftBuffer, sizeof(short)*framesPerBuffer, AudioChunk::PcmAudio, 0, 0, DLLCONFIG.m_sampleRate);
+ AudioChunkDetails leftDetails;
+ leftDetails.m_encoding = PcmAudio;
+ leftDetails.m_sampleRate = DLLCONFIG.m_sampleRate;
+ leftDetails.m_channel = 1;
+ chunkRef->SetBuffer(leftBuffer, sizeof(short)*framesPerBuffer, leftDetails);
portName.Format("port%d-%d", device->deviceID, 2);
g_audioChunkCallBack(chunkRef, portName);
@@ -81,7 +89,11 @@ int portAudioCallBack(void *inputBuffer, void *outputBuffer, unsigned long frame
{
// mono
AudioChunkRef chunkRef(new AudioChunk);
- chunkRef->SetBuffer(inputSamples, sizeof(short)*framesPerBuffer, AudioChunk::PcmAudio, 0, 0, DLLCONFIG.m_sampleRate);
+ AudioChunkDetails details;
+ details.m_encoding = PcmAudio;
+ details.m_sampleRate = DLLCONFIG.m_sampleRate;
+ details.m_channel = 1;
+ chunkRef->SetBuffer(inputSamples, sizeof(short)*framesPerBuffer, details);
portName.Format("port%d", device->deviceID);
g_audioChunkCallBack(chunkRef, portName);
}