engine_configurations.h revision 1f9baab753be55a7c6d31c84a5470fe646936edd
1/* 2 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11#ifndef WEBRTC_ENGINE_CONFIGURATIONS_H_ 12#define WEBRTC_ENGINE_CONFIGURATIONS_H_ 13 14#include "webrtc/typedefs.h" 15 16// ============================================================================ 17// Voice and Video 18// ============================================================================ 19 20// ---------------------------------------------------------------------------- 21// [Voice] Codec settings 22// ---------------------------------------------------------------------------- 23 24// iSAC and G722 are not included in the Mozilla build, but in all other builds. 25#ifndef WEBRTC_MOZILLA_BUILD 26#ifdef WEBRTC_ARCH_ARM 27#define WEBRTC_CODEC_ISACFX // Fix-point iSAC implementation. 28#else 29#define WEBRTC_CODEC_ISAC // Floating-point iSAC implementation (default). 30#endif // WEBRTC_ARCH_ARM 31#define WEBRTC_CODEC_G722 32#endif // !WEBRTC_MOZILLA_BUILD 33 34// iLBC and Redundancy coding are excluded from Chromium and Mozilla 35// builds to reduce binary size. 36#if !defined(WEBRTC_CHROMIUM_BUILD) && !defined(WEBRTC_MOZILLA_BUILD) 37#define WEBRTC_CODEC_ILBC 38#define WEBRTC_CODEC_RED 39#endif // !WEBRTC_CHROMIUM_BUILD && !WEBRTC_MOZILLA_BUILD 40 41// ---------------------------------------------------------------------------- 42// [Video] Codec settings 43// ---------------------------------------------------------------------------- 44 45#define VIDEOCODEC_I420 46#define VIDEOCODEC_VP8 47#define VIDEOCODEC_VP9 48#define VIDEOCODEC_H264 49 50// ============================================================================ 51// VoiceEngine 52// ============================================================================ 53 54// ---------------------------------------------------------------------------- 55// Settings for VoiceEngine 56// ---------------------------------------------------------------------------- 57 58#define WEBRTC_VOICE_ENGINE_AGC // Near-end AGC 59#define WEBRTC_VOICE_ENGINE_ECHO // Near-end AEC 60#define WEBRTC_VOICE_ENGINE_NR // Near-end NS 61 62#if !defined(WEBRTC_ANDROID) && !defined(WEBRTC_IOS) 63#define WEBRTC_VOICE_ENGINE_TYPING_DETECTION // Typing detection 64#endif 65 66// ---------------------------------------------------------------------------- 67// VoiceEngine sub-APIs 68// ---------------------------------------------------------------------------- 69 70#define WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API 71#define WEBRTC_VOICE_ENGINE_CODEC_API 72#define WEBRTC_VOICE_ENGINE_DTMF_API 73#define WEBRTC_VOICE_ENGINE_EXTERNAL_MEDIA_API 74#define WEBRTC_VOICE_ENGINE_FILE_API 75#define WEBRTC_VOICE_ENGINE_HARDWARE_API 76#define WEBRTC_VOICE_ENGINE_NETEQ_STATS_API 77#define WEBRTC_VOICE_ENGINE_RTP_RTCP_API 78#define WEBRTC_VOICE_ENGINE_VIDEO_SYNC_API 79#define WEBRTC_VOICE_ENGINE_VOLUME_CONTROL_API 80 81// ============================================================================ 82// Platform specific configurations 83// ============================================================================ 84 85// ---------------------------------------------------------------------------- 86// VideoEngine Windows 87// ---------------------------------------------------------------------------- 88 89#if defined(_WIN32) 90#define DIRECT3D9_RENDERING // Requires DirectX 9. 91#endif 92 93// ---------------------------------------------------------------------------- 94// VideoEngine MAC 95// ---------------------------------------------------------------------------- 96 97#if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) 98// #define CARBON_RENDERING 99#define COCOA_RENDERING 100#endif 101 102// ---------------------------------------------------------------------------- 103// VideoEngine Mobile iPhone 104// ---------------------------------------------------------------------------- 105 106#if defined(WEBRTC_IOS) 107#define EAGL_RENDERING 108#endif 109 110// ---------------------------------------------------------------------------- 111// Deprecated 112// ---------------------------------------------------------------------------- 113 114// #define WEBRTC_DTMF_DETECTION 115 116#endif // WEBRTC_ENGINE_CONFIGURATIONS_H_ 117