This CL is WebRTC VoiceEngine for iOS and is from CL713004.
After patching this, first comments some video related lines in webrtc.gyp and src/module/module.gyp And then do the below command. $> ./build/gyp_chromium --depth=. -DOS=ios -Dtarget_arch=armv7 -Dinclude_tests=0 -Denable_protobuf=0 -Denable_video=0 webrtc.gyp $> xcodebuild -sdk iphoneos [-configuration Release] Review URL: https://webrtc-codereview.appspot.com/768009 git-svn-id: http://webrtc.googlecode.com/svn/trunk@2729 4adac7df-926f-26a2-2b94-8c16560cd09d
This commit is contained in:
parent
c732ca697b
commit
4b42508cc0
@ -60,6 +60,7 @@
|
||||
# Disable these to not build components which can be externally provided.
|
||||
'build_libjpeg%': 1,
|
||||
'build_libyuv%': 1,
|
||||
'build_libvpx%': 1,
|
||||
|
||||
'libyuv_dir%': '<(DEPTH)/third_party/libyuv',
|
||||
|
||||
@ -98,6 +99,14 @@
|
||||
# http://code.google.com/p/webrtc/issues/detail?id=163
|
||||
'clang_use_chrome_plugins%': 0,
|
||||
}],
|
||||
['OS=="ios"', {
|
||||
'enable_video%': 0,
|
||||
'enable_protobuf%': 0,
|
||||
'build_libjpeg%': 0,
|
||||
'build_libyuv%': 0,
|
||||
'build_libvpx%': 0,
|
||||
'include_tests%': 0,
|
||||
}],
|
||||
], # conditions
|
||||
},
|
||||
'target_defaults': {
|
||||
@ -156,6 +165,14 @@
|
||||
}],
|
||||
],
|
||||
}],
|
||||
['OS=="ios"', {
|
||||
'defines': [
|
||||
'WEBRTC_MAC',
|
||||
'MAC_IPHONE', # TODO(sjlee): This should be changed to WEBRTC_IOS.
|
||||
'WEBRTC_THREAD_RR',
|
||||
'WEBRTC_CLOCK_TYPE_REALTIME',
|
||||
],
|
||||
}],
|
||||
['OS=="linux"', {
|
||||
'defines': [
|
||||
'WEBRTC_LINUX',
|
||||
|
@ -12,7 +12,6 @@
|
||||
|
||||
.align 2
|
||||
WebRtcSpl_SqrtFloor:
|
||||
.fnstart
|
||||
mov r1, #3 << 30
|
||||
mov r2, #1 << 30
|
||||
|
||||
@ -85,4 +84,3 @@ WebRtcSpl_SqrtFloor:
|
||||
bic r0, r2, #3 << 30 @ for rounding add: cmp r0, r2 adc r2, #1
|
||||
bx lr
|
||||
|
||||
.fnend
|
||||
|
@ -51,16 +51,21 @@
|
||||
'linux',
|
||||
],
|
||||
}], # OS==linux
|
||||
['OS=="ios"', {
|
||||
'include_dirs': [
|
||||
'ios',
|
||||
],
|
||||
}], # OS==ios
|
||||
['OS=="mac"', {
|
||||
'include_dirs': [
|
||||
'mac',
|
||||
],
|
||||
'include_dirs': [
|
||||
'mac',
|
||||
],
|
||||
}], # OS==mac
|
||||
['OS=="win"', {
|
||||
'include_dirs': [
|
||||
'win',
|
||||
'../../../../../..',
|
||||
],
|
||||
'include_dirs': [
|
||||
'win',
|
||||
'../../../../../..',
|
||||
],
|
||||
}],
|
||||
['OS=="android"', {
|
||||
'include_dirs': [
|
||||
@ -84,6 +89,10 @@
|
||||
'linux/audio_mixer_manager_alsa_linux.h',
|
||||
'linux/latebindingsymboltable_linux.cc',
|
||||
'linux/latebindingsymboltable_linux.h',
|
||||
'ios/audio_device_ios.cc',
|
||||
'ios/audio_device_ios.h',
|
||||
'ios/audio_device_utility_ios.cc',
|
||||
'ios/audio_device_utility_ios.h',
|
||||
'mac/audio_device_mac.cc',
|
||||
'mac/audio_device_mac.h',
|
||||
'mac/audio_device_utility_mac.cc',
|
||||
@ -140,7 +149,7 @@
|
||||
}],
|
||||
],
|
||||
}],
|
||||
['OS=="mac"', {
|
||||
['OS=="mac" or OS=="ios"', {
|
||||
'link_settings': {
|
||||
'libraries': [
|
||||
'$(SDKROOT)/System/Library/Frameworks/AudioToolbox.framework',
|
||||
|
@ -39,8 +39,8 @@
|
||||
#include "audio_device_pulse_linux.h"
|
||||
#endif
|
||||
#elif defined(MAC_IPHONE)
|
||||
#include "audio_device_utility_iphone.h"
|
||||
#include "audio_device_iphone.h"
|
||||
#include "audio_device_utility_ios.h"
|
||||
#include "audio_device_ios.h"
|
||||
#elif defined(WEBRTC_MAC)
|
||||
#include "audio_device_utility_mac.h"
|
||||
#include "audio_device_mac.h"
|
||||
@ -160,6 +160,9 @@ WebRtc_Word32 AudioDeviceModuleImpl::CheckPlatform()
|
||||
#elif defined(WEBRTC_LINUX)
|
||||
platform = kPlatformLinux;
|
||||
WEBRTC_TRACE(kTraceInfo, kTraceAudioDevice, _id, "current platform is LINUX");
|
||||
#elif defined(MAC_IPHONE)
|
||||
platform = kPlatformIOS;
|
||||
WEBRTC_TRACE(kTraceInfo, kTraceAudioDevice, _id, "current platform is IOS");
|
||||
#elif defined(WEBRTC_MAC)
|
||||
platform = kPlatformMac;
|
||||
WEBRTC_TRACE(kTraceInfo, kTraceAudioDevice, _id, "current platform is MAC");
|
||||
|
@ -31,7 +31,8 @@ public:
|
||||
kPlatformWinCe = 2,
|
||||
kPlatformLinux = 3,
|
||||
kPlatformMac = 4,
|
||||
kPlatformAndroid = 5
|
||||
kPlatformAndroid = 5,
|
||||
kPlatformIOS = 6
|
||||
};
|
||||
|
||||
WebRtc_Word32 CheckPlatform();
|
||||
|
1895
src/modules/audio_device/main/source/ios/audio_device_ios.cc
Normal file
1895
src/modules/audio_device/main/source/ios/audio_device_ios.cc
Normal file
File diff suppressed because it is too large
Load Diff
280
src/modules/audio_device/main/source/ios/audio_device_ios.h
Normal file
280
src/modules/audio_device/main/source/ios/audio_device_ios.h
Normal file
@ -0,0 +1,280 @@
|
||||
/*
|
||||
* Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#ifndef WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_IPHONE_H
|
||||
#define WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_IPHONE_H
|
||||
|
||||
#include <AudioUnit/AudioUnit.h>
|
||||
|
||||
#include "audio_device_generic.h"
|
||||
#include "critical_section_wrapper.h"
|
||||
|
||||
namespace webrtc {
|
||||
class ThreadWrapper;
|
||||
|
||||
const WebRtc_UWord32 N_REC_SAMPLES_PER_SEC = 44000;
|
||||
const WebRtc_UWord32 N_PLAY_SAMPLES_PER_SEC = 44000;
|
||||
|
||||
const WebRtc_UWord32 N_REC_CHANNELS = 1; // default is mono recording
|
||||
const WebRtc_UWord32 N_PLAY_CHANNELS = 1; // default is mono playout
|
||||
const WebRtc_UWord32 N_DEVICE_CHANNELS = 8;
|
||||
|
||||
const WebRtc_UWord32 ENGINE_REC_BUF_SIZE_IN_SAMPLES = (N_REC_SAMPLES_PER_SEC
|
||||
/ 100);
|
||||
const WebRtc_UWord32 ENGINE_PLAY_BUF_SIZE_IN_SAMPLES = (N_PLAY_SAMPLES_PER_SEC
|
||||
/ 100);
|
||||
|
||||
// Number of 10 ms recording blocks in recording buffer
|
||||
const WebRtc_UWord16 N_REC_BUFFERS = 20;
|
||||
|
||||
class AudioDeviceIPhone : public AudioDeviceGeneric {
|
||||
public:
|
||||
AudioDeviceIPhone(const WebRtc_Word32 id);
|
||||
~AudioDeviceIPhone();
|
||||
|
||||
// Retrieve the currently utilized audio layer
|
||||
virtual WebRtc_Word32
|
||||
ActiveAudioLayer(AudioDeviceModule::AudioLayer& audioLayer) const;
|
||||
|
||||
// Main initializaton and termination
|
||||
virtual WebRtc_Word32 Init();
|
||||
virtual WebRtc_Word32 Terminate();
|
||||
virtual bool Initialized() const;
|
||||
|
||||
// Device enumeration
|
||||
virtual WebRtc_Word16 PlayoutDevices();
|
||||
virtual WebRtc_Word16 RecordingDevices();
|
||||
virtual WebRtc_Word32 PlayoutDeviceName(WebRtc_UWord16 index,
|
||||
char name[kAdmMaxDeviceNameSize],
|
||||
char guid[kAdmMaxGuidSize]);
|
||||
virtual WebRtc_Word32 RecordingDeviceName(WebRtc_UWord16 index,
|
||||
char name[kAdmMaxDeviceNameSize],
|
||||
char guid[kAdmMaxGuidSize]);
|
||||
|
||||
// Device selection
|
||||
virtual WebRtc_Word32 SetPlayoutDevice(WebRtc_UWord16 index);
|
||||
virtual WebRtc_Word32
|
||||
SetPlayoutDevice(AudioDeviceModule::WindowsDeviceType device);
|
||||
virtual WebRtc_Word32 SetRecordingDevice(WebRtc_UWord16 index);
|
||||
virtual WebRtc_Word32 SetRecordingDevice(
|
||||
AudioDeviceModule::WindowsDeviceType device);
|
||||
|
||||
// Audio transport initialization
|
||||
virtual WebRtc_Word32 PlayoutIsAvailable(bool& available);
|
||||
virtual WebRtc_Word32 InitPlayout();
|
||||
virtual bool PlayoutIsInitialized() const;
|
||||
virtual WebRtc_Word32 RecordingIsAvailable(bool& available);
|
||||
virtual WebRtc_Word32 InitRecording();
|
||||
virtual bool RecordingIsInitialized() const;
|
||||
|
||||
// Audio transport control
|
||||
virtual WebRtc_Word32 StartPlayout();
|
||||
virtual WebRtc_Word32 StopPlayout();
|
||||
virtual bool Playing() const;
|
||||
virtual WebRtc_Word32 StartRecording();
|
||||
virtual WebRtc_Word32 StopRecording();
|
||||
virtual bool Recording() const;
|
||||
|
||||
// Microphone Automatic Gain Control (AGC)
|
||||
virtual WebRtc_Word32 SetAGC(bool enable);
|
||||
virtual bool AGC() const;
|
||||
|
||||
// Volume control based on the Windows Wave API (Windows only)
|
||||
virtual WebRtc_Word32 SetWaveOutVolume(WebRtc_UWord16 volumeLeft,
|
||||
WebRtc_UWord16 volumeRight);
|
||||
virtual WebRtc_Word32 WaveOutVolume(WebRtc_UWord16& volumeLeft,
|
||||
WebRtc_UWord16& volumeRight) const;
|
||||
|
||||
// Audio mixer initialization
|
||||
virtual WebRtc_Word32 SpeakerIsAvailable(bool& available);
|
||||
virtual WebRtc_Word32 InitSpeaker();
|
||||
virtual bool SpeakerIsInitialized() const;
|
||||
virtual WebRtc_Word32 MicrophoneIsAvailable(bool& available);
|
||||
virtual WebRtc_Word32 InitMicrophone();
|
||||
virtual bool MicrophoneIsInitialized() const;
|
||||
|
||||
// Speaker volume controls
|
||||
virtual WebRtc_Word32 SpeakerVolumeIsAvailable(bool& available);
|
||||
virtual WebRtc_Word32 SetSpeakerVolume(WebRtc_UWord32 volume);
|
||||
virtual WebRtc_Word32 SpeakerVolume(WebRtc_UWord32& volume) const;
|
||||
virtual WebRtc_Word32 MaxSpeakerVolume(WebRtc_UWord32& maxVolume) const;
|
||||
virtual WebRtc_Word32 MinSpeakerVolume(WebRtc_UWord32& minVolume) const;
|
||||
virtual WebRtc_Word32 SpeakerVolumeStepSize(WebRtc_UWord16& stepSize) const;
|
||||
|
||||
// Microphone volume controls
|
||||
virtual WebRtc_Word32 MicrophoneVolumeIsAvailable(bool& available);
|
||||
virtual WebRtc_Word32 SetMicrophoneVolume(WebRtc_UWord32 volume);
|
||||
virtual WebRtc_Word32 MicrophoneVolume(WebRtc_UWord32& volume) const;
|
||||
virtual WebRtc_Word32 MaxMicrophoneVolume(WebRtc_UWord32& maxVolume) const;
|
||||
virtual WebRtc_Word32 MinMicrophoneVolume(WebRtc_UWord32& minVolume) const;
|
||||
virtual WebRtc_Word32
|
||||
MicrophoneVolumeStepSize(WebRtc_UWord16& stepSize) const;
|
||||
|
||||
// Microphone mute control
|
||||
virtual WebRtc_Word32 MicrophoneMuteIsAvailable(bool& available);
|
||||
virtual WebRtc_Word32 SetMicrophoneMute(bool enable);
|
||||
virtual WebRtc_Word32 MicrophoneMute(bool& enabled) const;
|
||||
|
||||
// Speaker mute control
|
||||
virtual WebRtc_Word32 SpeakerMuteIsAvailable(bool& available);
|
||||
virtual WebRtc_Word32 SetSpeakerMute(bool enable);
|
||||
virtual WebRtc_Word32 SpeakerMute(bool& enabled) const;
|
||||
|
||||
// Microphone boost control
|
||||
virtual WebRtc_Word32 MicrophoneBoostIsAvailable(bool& available);
|
||||
virtual WebRtc_Word32 SetMicrophoneBoost(bool enable);
|
||||
virtual WebRtc_Word32 MicrophoneBoost(bool& enabled) const;
|
||||
|
||||
// Stereo support
|
||||
virtual WebRtc_Word32 StereoPlayoutIsAvailable(bool& available);
|
||||
virtual WebRtc_Word32 SetStereoPlayout(bool enable);
|
||||
virtual WebRtc_Word32 StereoPlayout(bool& enabled) const;
|
||||
virtual WebRtc_Word32 StereoRecordingIsAvailable(bool& available);
|
||||
virtual WebRtc_Word32 SetStereoRecording(bool enable);
|
||||
virtual WebRtc_Word32 StereoRecording(bool& enabled) const;
|
||||
|
||||
// Delay information and control
|
||||
virtual WebRtc_Word32
|
||||
SetPlayoutBuffer(const AudioDeviceModule::BufferType type,
|
||||
WebRtc_UWord16 sizeMS);
|
||||
virtual WebRtc_Word32 PlayoutBuffer(AudioDeviceModule::BufferType& type,
|
||||
WebRtc_UWord16& sizeMS) const;
|
||||
virtual WebRtc_Word32 PlayoutDelay(WebRtc_UWord16& delayMS) const;
|
||||
virtual WebRtc_Word32 RecordingDelay(WebRtc_UWord16& delayMS) const;
|
||||
|
||||
// CPU load
|
||||
virtual WebRtc_Word32 CPULoad(WebRtc_UWord16& load) const;
|
||||
|
||||
public:
|
||||
virtual bool PlayoutWarning() const;
|
||||
virtual bool PlayoutError() const;
|
||||
virtual bool RecordingWarning() const;
|
||||
virtual bool RecordingError() const;
|
||||
virtual void ClearPlayoutWarning();
|
||||
virtual void ClearPlayoutError();
|
||||
virtual void ClearRecordingWarning();
|
||||
virtual void ClearRecordingError();
|
||||
|
||||
public:
|
||||
virtual void AttachAudioBuffer(AudioDeviceBuffer* audioBuffer);
|
||||
|
||||
// Reset Audio Deivce (for mobile devices only)
|
||||
virtual WebRtc_Word32 ResetAudioDevice();
|
||||
|
||||
// enable or disable loud speaker (for iphone only)
|
||||
virtual WebRtc_Word32 SetLoudspeakerStatus(bool enable);
|
||||
virtual WebRtc_Word32 GetLoudspeakerStatus(bool& enabled) const;
|
||||
|
||||
private:
|
||||
void Lock() {
|
||||
_critSect.Enter();
|
||||
}
|
||||
|
||||
void UnLock() {
|
||||
_critSect.Leave();
|
||||
}
|
||||
|
||||
WebRtc_Word32 Id() {
|
||||
return _id;
|
||||
}
|
||||
|
||||
// Init and shutdown
|
||||
WebRtc_Word32 InitPlayOrRecord();
|
||||
WebRtc_Word32 ShutdownPlayOrRecord();
|
||||
|
||||
void UpdateRecordingDelay();
|
||||
void UpdatePlayoutDelay();
|
||||
|
||||
static OSStatus RecordProcess(void *inRefCon,
|
||||
AudioUnitRenderActionFlags *ioActionFlags,
|
||||
const AudioTimeStamp *WebRtc_Word32imeStamp,
|
||||
UInt32 inBusNumber,
|
||||
UInt32 inNumberFrames,
|
||||
AudioBufferList *ioData);
|
||||
|
||||
static OSStatus PlayoutProcess(void *inRefCon,
|
||||
AudioUnitRenderActionFlags *ioActionFlags,
|
||||
const AudioTimeStamp *WebRtc_Word32imeStamp,
|
||||
UInt32 inBusNumber,
|
||||
UInt32 inNumberFrames,
|
||||
AudioBufferList *ioData);
|
||||
|
||||
OSStatus RecordProcessImpl(AudioUnitRenderActionFlags *ioActionFlags,
|
||||
const AudioTimeStamp *WebRtc_Word32imeStamp,
|
||||
WebRtc_UWord32 inBusNumber,
|
||||
WebRtc_UWord32 inNumberFrames);
|
||||
|
||||
OSStatus PlayoutProcessImpl(WebRtc_UWord32 inNumberFrames,
|
||||
AudioBufferList *ioData);
|
||||
|
||||
static bool RunCapture(void* ptrThis);
|
||||
bool CaptureWorkerThread();
|
||||
|
||||
private:
|
||||
AudioDeviceBuffer* _ptrAudioBuffer;
|
||||
|
||||
CriticalSectionWrapper& _critSect;
|
||||
|
||||
ThreadWrapper* _captureWorkerThread;
|
||||
WebRtc_UWord32 _captureWorkerThreadId;
|
||||
|
||||
WebRtc_Word32 _id;
|
||||
|
||||
AudioUnit _auRemoteIO;
|
||||
|
||||
private:
|
||||
bool _initialized;
|
||||
bool _isShutDown;
|
||||
bool _recording;
|
||||
bool _playing;
|
||||
bool _recIsInitialized;
|
||||
bool _playIsInitialized;
|
||||
|
||||
bool _recordingDeviceIsSpecified;
|
||||
bool _playoutDeviceIsSpecified;
|
||||
bool _micIsInitialized;
|
||||
bool _speakerIsInitialized;
|
||||
|
||||
bool _AGC;
|
||||
|
||||
// The sampling rate to use with Audio Device Buffer
|
||||
WebRtc_UWord32 _adbSampFreq;
|
||||
|
||||
// Delay calculation
|
||||
WebRtc_UWord32 _recordingDelay;
|
||||
WebRtc_UWord32 _playoutDelay;
|
||||
WebRtc_UWord32 _playoutDelayMeasurementCounter;
|
||||
WebRtc_UWord32 _recordingDelayHWAndOS;
|
||||
WebRtc_UWord32 _recordingDelayMeasurementCounter;
|
||||
|
||||
// Errors and warnings count
|
||||
WebRtc_UWord16 _playWarning;
|
||||
WebRtc_UWord16 _playError;
|
||||
WebRtc_UWord16 _recWarning;
|
||||
WebRtc_UWord16 _recError;
|
||||
|
||||
// Playout buffer, needed for 44.0 / 44.1 kHz mismatch
|
||||
WebRtc_Word16 _playoutBuffer[ENGINE_PLAY_BUF_SIZE_IN_SAMPLES];
|
||||
WebRtc_UWord32 _playoutBufferUsed; // How much is filled
|
||||
|
||||
// Recording buffers
|
||||
WebRtc_Word16
|
||||
_recordingBuffer[N_REC_BUFFERS][ENGINE_REC_BUF_SIZE_IN_SAMPLES];
|
||||
WebRtc_UWord32 _recordingLength[N_REC_BUFFERS];
|
||||
WebRtc_UWord32 _recordingSeqNumber[N_REC_BUFFERS];
|
||||
WebRtc_UWord32 _recordingCurrentSeq;
|
||||
|
||||
// Current total size all data in buffers, used for delay estimate
|
||||
WebRtc_UWord32 _recordingBufferTotalSize;
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // MODULES_AUDIO_DEVICE_MAIN_SOURCE_MAC_AUDIO_DEVICE_IPHONE_H_
|
@ -0,0 +1,45 @@
|
||||
/*
|
||||
* Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#include "audio_device_utility_ios.h"
|
||||
#include "audio_device_config.h"
|
||||
|
||||
#include "critical_section_wrapper.h"
|
||||
#include "trace.h"
|
||||
|
||||
namespace webrtc {
|
||||
AudioDeviceUtilityIPhone::AudioDeviceUtilityIPhone(const WebRtc_Word32 id)
|
||||
:
|
||||
_critSect(*CriticalSectionWrapper::CreateCriticalSection()),
|
||||
_id(id),
|
||||
_lastError(AudioDeviceModule::kAdmErrNone) {
|
||||
WEBRTC_TRACE(kTraceMemory, kTraceAudioDevice, id,
|
||||
"%s created", __FUNCTION__);
|
||||
}
|
||||
|
||||
AudioDeviceUtilityIPhone::~AudioDeviceUtilityIPhone() {
|
||||
WEBRTC_TRACE(kTraceMemory, kTraceAudioDevice, _id,
|
||||
"%s destroyed", __FUNCTION__);
|
||||
CriticalSectionScoped lock(_critSect);
|
||||
|
||||
delete &_critSect;
|
||||
}
|
||||
|
||||
WebRtc_Word32 AudioDeviceUtilityIPhone::Init() {
|
||||
WEBRTC_TRACE(kTraceModuleCall, kTraceAudioDevice, _id,
|
||||
"%s", __FUNCTION__);
|
||||
|
||||
WEBRTC_TRACE(kTraceStateInfo, kTraceAudioDevice, _id,
|
||||
" OS info: %s", "iOS");
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
} // namespace webrtc
|
@ -0,0 +1,36 @@
|
||||
/*
|
||||
* Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
|
||||
*
|
||||
* Use of this source code is governed by a BSD-style license
|
||||
* that can be found in the LICENSE file in the root of the source
|
||||
* tree. An additional intellectual property rights grant can be found
|
||||
* in the file PATENTS. All contributing project authors may
|
||||
* be found in the AUTHORS file in the root of the source tree.
|
||||
*/
|
||||
|
||||
#ifndef WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_UTILITY_IPHONE_H
|
||||
#define WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_UTILITY_IPHONE_H
|
||||
|
||||
#include "audio_device_utility.h"
|
||||
#include "audio_device.h"
|
||||
|
||||
namespace webrtc {
|
||||
class CriticalSectionWrapper;
|
||||
|
||||
class AudioDeviceUtilityIPhone: public AudioDeviceUtility {
|
||||
public:
|
||||
AudioDeviceUtilityIPhone(const WebRtc_Word32 id);
|
||||
AudioDeviceUtilityIPhone();
|
||||
virtual ~AudioDeviceUtilityIPhone();
|
||||
|
||||
virtual WebRtc_Word32 Init();
|
||||
|
||||
private:
|
||||
CriticalSectionWrapper& _critSect;
|
||||
WebRtc_Word32 _id;
|
||||
AudioDeviceModule::ErrorCode _lastError;
|
||||
};
|
||||
|
||||
} // namespace webrtc
|
||||
|
||||
#endif // WEBRTC_AUDIO_DEVICE_AUDIO_DEVICE_UTILITY_IPHONE_H
|
@ -16,7 +16,6 @@
|
||||
'target_name': 'webrtc_vp8',
|
||||
'type': '<(library)',
|
||||
'dependencies': [
|
||||
'<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
|
||||
'<(webrtc_root)/system_wrappers/source/system_wrappers.gyp:system_wrappers',
|
||||
'<(webrtc_root)/common_video/common_video.gyp:webrtc_libyuv',
|
||||
],
|
||||
@ -27,6 +26,11 @@
|
||||
'<(webrtc_root)/modules/interface',
|
||||
],
|
||||
'conditions': [
|
||||
['build_libvpx==1', {
|
||||
'dependencies': [
|
||||
'<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
|
||||
],
|
||||
}],
|
||||
# TODO(mikhal): Investigate this mechanism for handling differences
|
||||
# between the Chromium and standalone builds.
|
||||
# http://code.google.com/p/webrtc/issues/detail?id=201
|
||||
@ -34,7 +38,7 @@
|
||||
'defines': [
|
||||
'WEBRTC_LIBVPX_VERSION=960' # Bali
|
||||
],
|
||||
},{
|
||||
}, {
|
||||
'defines': [
|
||||
'WEBRTC_LIBVPX_VERSION=971' # Cayuga
|
||||
],
|
||||
@ -100,7 +104,6 @@
|
||||
'dependencies': [
|
||||
'webrtc_vp8',
|
||||
'<(DEPTH)/testing/gtest.gyp:gtest',
|
||||
'<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
|
||||
'<(webrtc_root)/test/test.gyp:test_support_main',
|
||||
],
|
||||
'include_dirs': [
|
||||
@ -110,6 +113,13 @@
|
||||
'reference_picture_selection_unittest.cc',
|
||||
'temporal_layers_unittest.cc',
|
||||
],
|
||||
'conditions': [
|
||||
['build_libvpx==1', {
|
||||
'dependencies': [
|
||||
'<(DEPTH)/third_party/libvpx/libvpx.gyp:libvpx',
|
||||
],
|
||||
}],
|
||||
],
|
||||
},
|
||||
], # targets
|
||||
}], # include_tests
|
||||
|
@ -184,7 +184,11 @@ inline TickTime TickTime::Now()
|
||||
if (retval != KERN_SUCCESS) {
|
||||
// TODO(wu): Implement CHECK similar to chrome for all the platforms.
|
||||
// Then replace this with a CHECK(retval == KERN_SUCCESS);
|
||||
#ifndef MAC_IPHONE
|
||||
asm("int3");
|
||||
#else
|
||||
__builtin_trap();
|
||||
#endif // MAC_IPHONE
|
||||
}
|
||||
}
|
||||
// Use timebase to convert absolute time tick units into nanoseconds.
|
||||
|
@ -13,7 +13,7 @@
|
||||
#if defined(_WIN32)
|
||||
#include <windows.h>
|
||||
#include "event_win.h"
|
||||
#elif defined(WEBRTC_MAC)
|
||||
#elif defined(WEBRTC_MAC) && !defined(MAC_IPHONE)
|
||||
#include <ApplicationServices/ApplicationServices.h>
|
||||
#include <pthread.h>
|
||||
#include "event_posix.h"
|
||||
@ -49,7 +49,7 @@ int EventWrapper::KeyPressed()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#elif defined(WEBRTC_MAC)
|
||||
#elif defined(WEBRTC_MAC) && !defined(MAC_IPHONE)
|
||||
bool keyDown = false;
|
||||
// loop through all Mac virtual key constant values
|
||||
for(int keyIndex = 0; keyIndex <= 0x5C; keyIndex++)
|
||||
|
@ -151,7 +151,22 @@
|
||||
'trace_impl_no_op.cc',
|
||||
],
|
||||
}]
|
||||
] # conditions
|
||||
], # conditions
|
||||
'target_conditions': [
|
||||
# We need to do this in a target_conditions block to override the
|
||||
# filename_rules filters.
|
||||
['OS=="ios"', {
|
||||
# Pull in specific Mac files for iOS (which have been filtered out
|
||||
# by file name rules).
|
||||
'sources/': [
|
||||
['include', '^atomic32_mac\\.'],
|
||||
['include', '^cpu_mac\\.'],
|
||||
],
|
||||
'sources!': [
|
||||
'atomic32_posix.cc',
|
||||
],
|
||||
}],
|
||||
],
|
||||
},
|
||||
], # targets
|
||||
'conditions': [
|
||||
|
@ -788,7 +788,7 @@ int VoEAudioProcessingImpl::RegisterRxVadObserver(
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"RegisterRxVadObserver()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized()) {
|
||||
_shared->SetLastError(VE_NOT_INITED, kTraceError);
|
||||
@ -808,7 +808,7 @@ int VoEAudioProcessingImpl::DeRegisterRxVadObserver(int channel) {
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"DeRegisterRxVadObserver()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized()) {
|
||||
_shared->SetLastError(VE_NOT_INITED, kTraceError);
|
||||
@ -850,7 +850,7 @@ int VoEAudioProcessingImpl::SetEcMetricsStatus(bool enable) {
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"SetEcMetricsStatus(enable=%d)", enable);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
#ifdef WEBRTC_VOICE_ENGINE_ECHO
|
||||
if (!_shared->statistics().Initialized()) {
|
||||
@ -878,7 +878,7 @@ int VoEAudioProcessingImpl::GetEcMetricsStatus(bool& enabled) {
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetEcMetricsStatus(enabled=?)");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
#ifdef WEBRTC_VOICE_ENGINE_ECHO
|
||||
if (!_shared->statistics().Initialized()) {
|
||||
@ -916,7 +916,7 @@ int VoEAudioProcessingImpl::GetEchoMetrics(int& ERL,
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetEchoMetrics(ERL=?, ERLE=?, RERL=?, A_NLP=?)");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
#ifdef WEBRTC_VOICE_ENGINE_ECHO
|
||||
if (!_shared->statistics().Initialized()) {
|
||||
@ -960,7 +960,7 @@ int VoEAudioProcessingImpl::GetEcDelayMetrics(int& delay_median,
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetEcDelayMetrics(median=?, std=?)");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
#ifdef WEBRTC_VOICE_ENGINE_ECHO
|
||||
if (!_shared->statistics().Initialized()) {
|
||||
@ -1026,7 +1026,7 @@ int VoEAudioProcessingImpl::SetTypingDetectionStatus(bool enable) {
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"SetTypingDetectionStatus()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
#ifdef WEBRTC_VOICE_ENGINE_TYPING_DETECTION
|
||||
if (!_shared->statistics().Initialized()) {
|
||||
_shared->SetLastError(VE_NOT_INITED, kTraceError);
|
||||
@ -1060,7 +1060,7 @@ int VoEAudioProcessingImpl::GetTypingDetectionStatus(bool& enabled) {
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetTypingDetectionStatus()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
#ifdef WEBRTC_VOICE_ENGINE_TYPING_DETECTION
|
||||
if (!_shared->statistics().Initialized()) {
|
||||
@ -1085,7 +1085,7 @@ int VoEAudioProcessingImpl::TimeSinceLastTyping(int &seconds) {
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"TimeSinceLastTyping()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
#ifdef WEBRTC_VOICE_ENGINE_TYPING_DETECTION
|
||||
if (!_shared->statistics().Initialized()) {
|
||||
@ -1120,7 +1120,7 @@ int VoEAudioProcessingImpl::SetTypingDetectionParameters(int timeWindow,
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"SetTypingDetectionParameters()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
#ifdef WEBRTC_VOICE_ENGINE_TYPING_DETECTION
|
||||
if (!_shared->statistics().Initialized()) {
|
||||
|
@ -57,7 +57,7 @@ int VoECallReportImpl::ResetCallReportStatistics(int channel)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"ResetCallReportStatistics(channel=%d)", channel);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -129,7 +129,7 @@ int VoECallReportImpl::GetEchoMetricSummary(EchoStatistics& stats)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetEchoMetricSummary()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -230,7 +230,7 @@ int VoECallReportImpl::GetRoundTripTimeSummary(int channel, StatVal& delaysMs)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetRoundTripTimeSummary()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -256,7 +256,7 @@ int VoECallReportImpl::GetDeadOrAliveSummary(int channel,
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetDeadOrAliveSummary(channel=%d)", channel);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -298,7 +298,7 @@ int VoECallReportImpl::WriteReportToFile(const char* fileNameUTF8)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"WriteReportToFile(fileNameUTF8=%s)", fileNameUTF8);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
|
@ -270,7 +270,7 @@ int VoECodecImpl::SetAMRWbEncFormat(int channel, AmrMode mode)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"SetAMRWbEncFormat(channel=%d, mode=%d)", channel, mode);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
#ifdef WEBRTC_CODEC_GSMAMRWB
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -298,7 +298,7 @@ int VoECodecImpl::SetAMRWbDecFormat(int channel, AmrMode mode)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"SetAMRWbDecFormat(channel=%i, mode=%i)", channel, mode);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
#ifdef WEBRTC_CODEC_GSMAMRWB
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -410,7 +410,7 @@ int VoECodecImpl::SetISACInitTargetRate(int channel, int rateBps,
|
||||
"SetISACInitTargetRate(channel=%d, rateBps=%d, "
|
||||
"useFixedFrameSize=%d)", channel, rateBps, useFixedFrameSize);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
#ifdef WEBRTC_CODEC_ISAC
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -438,7 +438,7 @@ int VoECodecImpl::SetISACMaxRate(int channel, int rateBps)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"SetISACMaxRate(channel=%d, rateBps=%d)", channel, rateBps);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
#ifdef WEBRTC_CODEC_ISAC
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -467,7 +467,7 @@ int VoECodecImpl::SetISACMaxPayloadSize(int channel, int sizeBytes)
|
||||
"SetISACMaxPayloadSize(channel=%d, sizeBytes=%d)", channel,
|
||||
sizeBytes);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
#ifdef WEBRTC_CODEC_ISAC
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
|
@ -395,7 +395,7 @@ int VoEDtmfImpl::SetDtmfPlayoutStatus(int channel, bool enable)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"SetDtmfPlayoutStatus(channel=%d, enable=%d)",
|
||||
channel, enable);
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -417,7 +417,7 @@ int VoEDtmfImpl::GetDtmfPlayoutStatus(int channel, bool& enabled)
|
||||
{
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetDtmfPlayoutStatus(channel=%d, enabled=?)", channel);
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
_shared->SetLastError(VE_NOT_INITED, kTraceError);
|
||||
|
@ -59,7 +59,7 @@ int VoEExternalMediaImpl::RegisterExternalMediaProcessing(
|
||||
"RegisterExternalMediaProcessing(channel=%d, type=%d, "
|
||||
"processObject=0x%x)", channel, type, &processObject);
|
||||
ANDROID_NOT_SUPPORTED(shared_->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(shared_->statistics());
|
||||
if (!shared_->statistics().Initialized())
|
||||
{
|
||||
shared_->SetLastError(VE_NOT_INITED, kTraceError);
|
||||
@ -103,7 +103,7 @@ int VoEExternalMediaImpl::DeRegisterExternalMediaProcessing(
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(shared_->instance_id(), -1),
|
||||
"DeRegisterExternalMediaProcessing(channel=%d)", channel);
|
||||
ANDROID_NOT_SUPPORTED(shared_->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(shared_->statistics());
|
||||
if (!shared_->statistics().Initialized())
|
||||
{
|
||||
shared_->SetLastError(VE_NOT_INITED, kTraceError);
|
||||
@ -144,7 +144,7 @@ int VoEExternalMediaImpl::SetExternalRecordingStatus(bool enable)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(shared_->instance_id(), -1),
|
||||
"SetExternalRecordingStatus(enable=%d)", enable);
|
||||
ANDROID_NOT_SUPPORTED(shared_->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(shared_->statistics());
|
||||
#ifdef WEBRTC_VOE_EXTERNAL_REC_AND_PLAYOUT
|
||||
if (shared_->audio_device()->Recording())
|
||||
{
|
||||
@ -173,7 +173,7 @@ int VoEExternalMediaImpl::ExternalRecordingInsertData(
|
||||
&speechData10ms[0], lengthSamples, samplingFreqHz,
|
||||
current_delay_ms);
|
||||
ANDROID_NOT_SUPPORTED(shared_->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(shared_->statistics());
|
||||
|
||||
#ifdef WEBRTC_VOE_EXTERNAL_REC_AND_PLAYOUT
|
||||
if (!shared_->statistics().Initialized())
|
||||
@ -265,7 +265,7 @@ int VoEExternalMediaImpl::SetExternalPlayoutStatus(bool enable)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(shared_->instance_id(), -1),
|
||||
"SetExternalPlayoutStatus(enable=%d)", enable);
|
||||
ANDROID_NOT_SUPPORTED(shared_->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(shared_->statistics());
|
||||
#ifdef WEBRTC_VOE_EXTERNAL_REC_AND_PLAYOUT
|
||||
if (shared_->audio_device()->Playing())
|
||||
{
|
||||
@ -293,7 +293,7 @@ int VoEExternalMediaImpl::ExternalPlayoutGetData(
|
||||
", current_delay_ms=%d)", &speechData10ms[0], samplingFreqHz,
|
||||
current_delay_ms);
|
||||
ANDROID_NOT_SUPPORTED(shared_->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(shared_->statistics());
|
||||
#ifdef WEBRTC_VOE_EXTERNAL_REC_AND_PLAYOUT
|
||||
if (!shared_->statistics().Initialized())
|
||||
{
|
||||
|
@ -163,7 +163,7 @@ int VoEHardwareImpl::GetNumOfRecordingDevices(int& devices)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetNumOfRecordingDevices(devices=?)");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -184,7 +184,7 @@ int VoEHardwareImpl::GetNumOfPlayoutDevices(int& devices)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetNumOfPlayoutDevices(devices=?)");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -208,7 +208,7 @@ int VoEHardwareImpl::GetRecordingDeviceName(int index,
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetRecordingDeviceName(index=%d)", index);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -266,7 +266,7 @@ int VoEHardwareImpl::GetPlayoutDeviceName(int index,
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetPlayoutDeviceName(index=%d)", index);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -325,7 +325,7 @@ int VoEHardwareImpl::SetRecordingDevice(int index,
|
||||
index, (int) recordingChannel);
|
||||
CriticalSectionScoped cs(_shared->crit_sec());
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -455,7 +455,7 @@ int VoEHardwareImpl::SetPlayoutDevice(int index)
|
||||
"SetPlayoutDevice(index=%d)", index);
|
||||
CriticalSectionScoped cs(_shared->crit_sec());
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -559,7 +559,7 @@ int VoEHardwareImpl::GetRecordingDeviceStatus(bool& isAvailable)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetRecordingDeviceStatus()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -593,7 +593,7 @@ int VoEHardwareImpl::GetPlayoutDeviceStatus(bool& isAvailable)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetPlayoutDeviceStatus()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -656,7 +656,7 @@ int VoEHardwareImpl::AudioDeviceControl(unsigned int par1, unsigned int par2,
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"AudioDeviceControl(%i, %i, %i)", par1, par2, par3);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
_shared->SetLastError(VE_NOT_INITED, kTraceError);
|
||||
@ -671,7 +671,7 @@ int VoEHardwareImpl::SetLoudspeakerStatus(bool enable)
|
||||
{
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"SetLoudspeakerStatus(enable=%i)", (int) enable);
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -698,7 +698,7 @@ int VoEHardwareImpl::GetLoudspeakerStatus(bool& enabled)
|
||||
{
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetLoudspeakerStatus()");
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
#if defined(WEBRTC_ANDROID)
|
||||
if (!_shared->statistics().Initialized())
|
||||
@ -727,7 +727,7 @@ int VoEHardwareImpl::GetCPULoad(int& loadPercent)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetCPULoad()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -758,7 +758,7 @@ int VoEHardwareImpl::GetSystemCPULoad(int& loadPercent)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetSystemCPULoad(loadPercent=?)");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
|
@ -55,7 +55,7 @@ int VoENetEqStatsImpl::GetNetworkStatistics(int channel,
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetNetworkStatistics(channel=%d, stats=?)", channel);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
|
@ -216,7 +216,7 @@ int VoENetworkImpl::GetLocalIP(char ipAddr[64], bool ipv6)
|
||||
{
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetLocalIP(ipAddr[]=?, ipv6=%d)", ipv6);
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
#ifndef WEBRTC_EXTERNAL_TRANSPORT
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -304,7 +304,7 @@ int VoENetworkImpl::EnableIPv6(int channel)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"EnableIPv6(channel=%d)", channel);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
#ifndef WEBRTC_EXTERNAL_TRANSPORT
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -594,7 +594,7 @@ int VoENetworkImpl::SetSendGQoS(int channel,
|
||||
" overrideDSCP=%d)",
|
||||
channel, (int) enable, serviceType, overrideDSCP);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
#if !defined(_WIN32)
|
||||
_shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceWarning,
|
||||
"SetSendGQOS() is not supported on this platform");
|
||||
@ -635,7 +635,7 @@ int VoENetworkImpl::GetSendGQoS(int channel,
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetSendGQOS(channel=%d)", channel);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
#if !defined(_WIN32)
|
||||
_shared->SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceWarning,
|
||||
"GetSendGQOS() is not supported on this platform");
|
||||
|
@ -52,7 +52,7 @@ int VoEVideoSyncImpl::GetPlayoutTimestamp(int channel, unsigned int& timestamp)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetPlayoutTimestamp(channel=%d, timestamp=?)", channel);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -77,7 +77,7 @@ int VoEVideoSyncImpl::SetInitTimestamp(int channel,
|
||||
"SetInitTimestamp(channel=%d, timestamp=%lu)",
|
||||
channel, timestamp);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -102,7 +102,7 @@ int VoEVideoSyncImpl::SetInitSequenceNumber(int channel,
|
||||
"SetInitSequenceNumber(channel=%d, sequenceNumber=%hd)",
|
||||
channel, sequenceNumber);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -126,7 +126,7 @@ int VoEVideoSyncImpl::SetMinimumPlayoutDelay(int channel,int delayMs)
|
||||
"SetMinimumPlayoutDelay(channel=%d, delayMs=%d)",
|
||||
channel, delayMs);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -149,7 +149,7 @@ int VoEVideoSyncImpl::GetDelayEstimate(int channel, int& delayMs)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetDelayEstimate(channel=%d, delayMs=?)", channel);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -172,7 +172,7 @@ int VoEVideoSyncImpl::GetPlayoutBufferSize(int& bufferMs)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetPlayoutBufferSize(bufferMs=?)");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
|
@ -54,7 +54,7 @@ int VoEVolumeControlImpl::SetSpeakerVolume(unsigned int volume)
|
||||
{
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"SetSpeakerVolume(volume=%u)", volume);
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -96,7 +96,7 @@ int VoEVolumeControlImpl::GetSpeakerVolume(unsigned int& volume)
|
||||
{
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetSpeakerVolume()");
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -180,7 +180,7 @@ int VoEVolumeControlImpl::SetMicVolume(unsigned int volume)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"SetMicVolume(volume=%u)", volume);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -239,7 +239,7 @@ int VoEVolumeControlImpl::GetMicVolume(unsigned int& volume)
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetMicVolume()");
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -491,7 +491,7 @@ int VoEVolumeControlImpl::SetChannelOutputVolumeScaling(int channel,
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"SetChannelOutputVolumeScaling(channel=%d, scaling=%3.2f)",
|
||||
channel, scaling);
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
_shared->SetLastError(VE_NOT_INITED, kTraceError);
|
||||
@ -520,7 +520,7 @@ int VoEVolumeControlImpl::GetChannelOutputVolumeScaling(int channel,
|
||||
{
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetChannelOutputVolumeScaling(channel=%d, scaling=?)", channel);
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
_shared->SetLastError(VE_NOT_INITED, kTraceError);
|
||||
@ -545,7 +545,7 @@ int VoEVolumeControlImpl::SetOutputVolumePan(int channel,
|
||||
"SetOutputVolumePan(channel=%d, left=%2.1f, right=%2.1f)",
|
||||
channel, left, right);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
@ -599,7 +599,7 @@ int VoEVolumeControlImpl::GetOutputVolumePan(int channel,
|
||||
WEBRTC_TRACE(kTraceApiCall, kTraceVoice, VoEId(_shared->instance_id(), -1),
|
||||
"GetOutputVolumePan(channel=%d, left=?, right=?)", channel);
|
||||
ANDROID_NOT_SUPPORTED(_shared->statistics());
|
||||
IPHONE_NOT_SUPPORTED();
|
||||
IPHONE_NOT_SUPPORTED(_shared->statistics());
|
||||
|
||||
if (!_shared->statistics().Initialized())
|
||||
{
|
||||
|
@ -553,9 +553,9 @@ namespace webrtc
|
||||
#define WEBRTC_VOICE_ENGINE_AGC_DEFAULT_MODE \
|
||||
GainControl::kAdaptiveDigital
|
||||
|
||||
#define IPHONE_NOT_SUPPORTED() \
|
||||
_engineStatistics.SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, \
|
||||
"API call not supported"); \
|
||||
#define IPHONE_NOT_SUPPORTED(stat) \
|
||||
stat.SetLastError(VE_FUNC_NOT_SUPPORTED, kTraceError, \
|
||||
"API call not supported"); \
|
||||
return -1;
|
||||
|
||||
#else // Non-iPhone
|
||||
@ -576,11 +576,11 @@ namespace webrtc
|
||||
// Defines
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
#define IPHONE_NOT_SUPPORTED()
|
||||
#define IPHONE_NOT_SUPPORTED(stat)
|
||||
#endif
|
||||
|
||||
#else
|
||||
#define IPHONE_NOT_SUPPORTED()
|
||||
#define IPHONE_NOT_SUPPORTED(stat)
|
||||
#endif // #ifdef WEBRTC_MAC
|
||||
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user