From 0f009044c32626ae48699fabc6bca1335aa62c24 Mon Sep 17 00:00:00 2001 From: Orlando Date: Sun, 24 Apr 2016 01:53:14 -0400 Subject: [PATCH] Added audio bit rate support --- api/iOS/VCSimpleSession.h | 2 ++ api/iOS/VCSimpleSession.mm | 13 +++++++++++++ mixers/GenericAudioMixer.cpp | 6 +++++- mixers/GenericAudioMixer.h | 3 +++ mixers/IAudioMixer.hpp | 9 ++++++++- 5 files changed, 31 insertions(+), 2 deletions(-) diff --git a/api/iOS/VCSimpleSession.h b/api/iOS/VCSimpleSession.h index 7009aa46..c0d9989c 100644 --- a/api/iOS/VCSimpleSession.h +++ b/api/iOS/VCSimpleSession.h @@ -141,6 +141,8 @@ typedef NS_ENUM(NSInteger, VCFilter) { - (void) endRtmpSession; +- (void) setAudioBitRate:(float)bitRate; + - (void) getCameraPreviewLayer: (AVCaptureVideoPreviewLayer**) previewLayer; /*! diff --git a/api/iOS/VCSimpleSession.mm b/api/iOS/VCSimpleSession.mm index 8339d000..e0a86fa0 100644 --- a/api/iOS/VCSimpleSession.mm +++ b/api/iOS/VCSimpleSession.mm @@ -130,6 +130,7 @@ @interface VCSimpleSession() float _videoZoomFactor; int _audioChannelCount; float _audioSampleRate; + float _audioBitRate; float _micGain; VCCameraState _cameraState; @@ -329,6 +330,18 @@ - (void) setMicGain:(float)micGain _micGain = micGain; } } +- (void) +setAudioBitRate:(float)bitRate +{ + if(m_audioMixer) { + m_audioMixer->setBitsPerChannel(bitRate); + } +} +- (float) +audioBitRate +{ + return _audioBitRate; +} - (float) micGain { return _micGain; diff --git a/mixers/GenericAudioMixer.cpp b/mixers/GenericAudioMixer.cpp index b7b6a446..605aaf77 100644 --- a/mixers/GenericAudioMixer.cpp +++ b/mixers/GenericAudioMixer.cpp @@ -396,7 +396,11 @@ namespace videocore { { m_outFrequencyInHz = frequencyInHz; } - + void + GenericAudioMixer::setBitsPerChannel(float bitRate) + { + m_outBitsPerChannel = bitRate; + } void GenericAudioMixer::mixThread() { diff --git a/mixers/GenericAudioMixer.h b/mixers/GenericAudioMixer.h index 634b8e32..ddc04045 100644 --- a/mixers/GenericAudioMixer.h +++ b/mixers/GenericAudioMixer.h @@ -112,6 +112,9 @@ namespace videocore { /*! IAudioMixer::setFrequencyInHz */ void setFrequencyInHz(float frequencyInHz); + + /*! IAudioMixer::setBitsPerChannel */ + void setBitsPerChannel(float bitRate); /*! IAudioMixer::setMinimumBufferDuration */ virtual void setMinimumBufferDuration(const double duration) ; diff --git a/mixers/IAudioMixer.hpp b/mixers/IAudioMixer.hpp index 6627ebe8..badb8774 100644 --- a/mixers/IAudioMixer.hpp +++ b/mixers/IAudioMixer.hpp @@ -82,7 +82,14 @@ namespace videocore { * \param frequencyInHz The audio sample frequency in Hz. */ virtual void setFrequencyInHz(float frequencyInHz) = 0; - + + /*! + * Set the bits ber channel count. + * + * \param frequencyInHz The audio bit rate. + */ + virtual void setBitsPerChannel(float bitRate) = 0; + /*! * Set the amount of time to buffer before emitting mixed samples. *