blob: a1ed4a904b3d0dec4c9d10896bc92bcb90039155 [file] [log] [blame]
niklase@google.com470e71d2011-07-07 08:21:25 +00001/*
xians@webrtc.org9b3474a2012-02-02 08:59:11 +00002 * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved.
niklase@google.com470e71d2011-07-07 08:21:25 +00003 *
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// ============================================================================
15// Voice and Video
16// ============================================================================
17
niklas.enbom@webrtc.orgb2c115c2011-12-21 07:38:54 +000018// Don't link in socket support in Chrome
19#ifdef WEBRTC_CHROMIUM_BUILD
20#define WEBRTC_EXTERNAL_TRANSPORT
21#endif
22
23// Optional to enable stand-alone
niklase@google.com470e71d2011-07-07 08:21:25 +000024// #define WEBRTC_EXTERNAL_TRANSPORT
25
26// ----------------------------------------------------------------------------
27// [Voice] Codec settings
28// ----------------------------------------------------------------------------
29
kma@webrtc.org94771cb2012-08-28 04:09:50 +000030#ifdef WEBRTC_ARCH_ARM
leozwang@webrtc.org22082e72012-04-18 16:52:00 +000031#define WEBRTC_CODEC_ISACFX // fix-point iSAC implementation
32#else
niklase@google.com470e71d2011-07-07 08:21:25 +000033#define WEBRTC_CODEC_ISAC // floating-point iSAC implementation (default)
leozwang@webrtc.org22082e72012-04-18 16:52:00 +000034#endif
xians@webrtc.org0dffc642011-11-30 15:35:44 +000035#define WEBRTC_CODEC_AVT
36
37#ifndef WEBRTC_CHROMIUM_BUILD
38#define WEBRTC_CODEC_ILBC
niklase@google.com470e71d2011-07-07 08:21:25 +000039#define WEBRTC_CODEC_G722
40#define WEBRTC_CODEC_PCM16
41#define WEBRTC_CODEC_RED
xians@webrtc.org0dffc642011-11-30 15:35:44 +000042#endif
niklase@google.com470e71d2011-07-07 08:21:25 +000043
44// ----------------------------------------------------------------------------
45// [Video] Codec settings
46// ----------------------------------------------------------------------------
47
48#define VIDEOCODEC_I420
49#define VIDEOCODEC_VP8
50
51// ============================================================================
52// VoiceEngine
53// ============================================================================
54
55// ----------------------------------------------------------------------------
56// Settings for VoiceEngine
57// ----------------------------------------------------------------------------
58
59#define WEBRTC_VOICE_ENGINE_AGC // Near-end AGC
60#define WEBRTC_VOICE_ENGINE_ECHO // Near-end AEC
61#define WEBRTC_VOICE_ENGINE_NR // Near-end NS
niklase@google.com470e71d2011-07-07 08:21:25 +000062#define WEBRTC_VOE_EXTERNAL_REC_AND_PLAYOUT
63
xians@webrtc.org832d7c62011-12-08 16:45:46 +000064#ifndef WEBRTC_CHROMIUM_BUILD
65#define WEBRTC_VOICE_ENGINE_TYPING_DETECTION // Typing detection
66#endif
67
niklase@google.com470e71d2011-07-07 08:21:25 +000068// ----------------------------------------------------------------------------
69// VoiceEngine sub-APIs
70// ----------------------------------------------------------------------------
71
72#define WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API
niklase@google.com470e71d2011-07-07 08:21:25 +000073#define WEBRTC_VOICE_ENGINE_CODEC_API
74#define WEBRTC_VOICE_ENGINE_DTMF_API
xians@webrtc.org5b6d3ce2012-03-15 14:40:00 +000075#define WEBRTC_VOICE_ENGINE_EXTERNAL_MEDIA_API
76#define WEBRTC_VOICE_ENGINE_FILE_API
niklase@google.com470e71d2011-07-07 08:21:25 +000077#define WEBRTC_VOICE_ENGINE_HARDWARE_API
78#define WEBRTC_VOICE_ENGINE_NETEQ_STATS_API
79#define WEBRTC_VOICE_ENGINE_NETWORK_API
80#define WEBRTC_VOICE_ENGINE_RTP_RTCP_API
81#define WEBRTC_VOICE_ENGINE_VIDEO_SYNC_API
82#define WEBRTC_VOICE_ENGINE_VOLUME_CONTROL_API
83
xians@webrtc.org9b3474a2012-02-02 08:59:11 +000084#ifndef WEBRTC_CHROMIUM_BUILD
85#define WEBRTC_VOICE_ENGINE_CALL_REPORT_API
86#define WEBRTC_VOICE_ENGINE_ENCRYPTION_API
xians@webrtc.org9b3474a2012-02-02 08:59:11 +000087#endif
88
niklase@google.com470e71d2011-07-07 08:21:25 +000089// ============================================================================
90// VideoEngine
91// ============================================================================
92
93// ----------------------------------------------------------------------------
94// Settings for special VideoEngine configurations
95// ----------------------------------------------------------------------------
96// ----------------------------------------------------------------------------
97// VideoEngine sub-API:s
98// ----------------------------------------------------------------------------
99
100#define WEBRTC_VIDEO_ENGINE_CAPTURE_API
101#define WEBRTC_VIDEO_ENGINE_CODEC_API
102#define WEBRTC_VIDEO_ENGINE_ENCRYPTION_API
niklase@google.com470e71d2011-07-07 08:21:25 +0000103#define WEBRTC_VIDEO_ENGINE_IMAGE_PROCESS_API
104#define WEBRTC_VIDEO_ENGINE_NETWORK_API
105#define WEBRTC_VIDEO_ENGINE_RENDER_API
106#define WEBRTC_VIDEO_ENGINE_RTP_RTCP_API
107// #define WEBRTC_VIDEO_ENGINE_EXTERNAL_CODEC_API
108
andrew@webrtc.orgf5a91fd2012-07-23 16:28:02 +0000109// Now handled by gyp:
110// WEBRTC_VIDEO_ENGINE_FILE_API
xians@webrtc.org594ab3c2012-02-08 10:38:12 +0000111
niklase@google.com470e71d2011-07-07 08:21:25 +0000112// ============================================================================
113// Platform specific configurations
114// ============================================================================
115
116// ----------------------------------------------------------------------------
117// VideoEngine Windows
118// ----------------------------------------------------------------------------
119
120#if defined(_WIN32)
andrew@webrtc.org80124742012-03-08 17:54:24 +0000121// #define DIRECTDRAW_RENDERING
122#define DIRECT3D9_RENDERING // Requires DirectX 9.
123#endif
niklase@google.com470e71d2011-07-07 08:21:25 +0000124
125// ----------------------------------------------------------------------------
126// VideoEngine MAC
127// ----------------------------------------------------------------------------
128
129#if defined(WEBRTC_MAC) && !defined(MAC_IPHONE)
andrew@webrtc.org80124742012-03-08 17:54:24 +0000130// #define CARBON_RENDERING
131#define COCOA_RENDERING
niklase@google.com470e71d2011-07-07 08:21:25 +0000132#endif
133
134// ----------------------------------------------------------------------------
135// VideoEngine Mobile iPhone
136// ----------------------------------------------------------------------------
137
138#if defined(MAC_IPHONE)
andrew@webrtc.org80124742012-03-08 17:54:24 +0000139#define EAGL_RENDERING
niklase@google.com470e71d2011-07-07 08:21:25 +0000140#endif
141
142// ----------------------------------------------------------------------------
143// Deprecated
144// ----------------------------------------------------------------------------
145
146// #define WEBRTC_CODEC_G729
147// #define WEBRTC_DTMF_DETECTION
148// #define WEBRTC_SRTP
149// #define WEBRTC_SRTP_ALLOW_ROC_ITERATION
150
151#endif // WEBRTC_ENGINE_CONFIGURATIONS_H_