blob: c24e3d2ced027f6bd4e34756903f123810e39023 [file] [log] [blame]
niklase@google.comda159d62011-05-30 11:51:34 +00001/*
2 * Copyright (c) 2011 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// ============================================================================
15// Voice and Video
16// ============================================================================
17
18// #define WEBRTC_EXTERNAL_TRANSPORT
19
20// ----------------------------------------------------------------------------
21// [Voice] Codec settings
22// ----------------------------------------------------------------------------
23
24#define WEBRTC_CODEC_ILBC
25#define WEBRTC_CODEC_ISAC // floating-point iSAC implementation (default)
26// #define WEBRTC_CODEC_ISACFX // fix-point iSAC implementation
27#define WEBRTC_CODEC_G722
28#define WEBRTC_CODEC_PCM16
29#define WEBRTC_CODEC_RED
30#define WEBRTC_CODEC_AVT
31
32// ----------------------------------------------------------------------------
33// [Video] Codec settings
34// ----------------------------------------------------------------------------
35
36#define VIDEOCODEC_I420
37#define VIDEOCODEC_VP8
38
39// ============================================================================
40// VoiceEngine
41// ============================================================================
42
43// ----------------------------------------------------------------------------
44// Settings for VoiceEngine
45// ----------------------------------------------------------------------------
46
47#define WEBRTC_VOICE_ENGINE_AGC // Near-end AGC
48#define WEBRTC_VOICE_ENGINE_ECHO // Near-end AEC
49#define WEBRTC_VOICE_ENGINE_NR // Near-end NS
50#define WEBRTC_VOICE_ENGINE_TYPING_DETECTION
51#define WEBRTC_VOE_EXTERNAL_REC_AND_PLAYOUT
52
53// ----------------------------------------------------------------------------
54// VoiceEngine sub-APIs
55// ----------------------------------------------------------------------------
56
57#define WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API
58#define WEBRTC_VOICE_ENGINE_CALL_REPORT_API
59#define WEBRTC_VOICE_ENGINE_CODEC_API
60#define WEBRTC_VOICE_ENGINE_DTMF_API
61#define WEBRTC_VOICE_ENGINE_ENCRYPTION_API
62#define WEBRTC_VOICE_ENGINE_EXTERNAL_MEDIA_API
63#define WEBRTC_VOICE_ENGINE_FILE_API
64#define WEBRTC_VOICE_ENGINE_HARDWARE_API
65#define WEBRTC_VOICE_ENGINE_NETEQ_STATS_API
66#define WEBRTC_VOICE_ENGINE_NETWORK_API
67#define WEBRTC_VOICE_ENGINE_RTP_RTCP_API
68#define WEBRTC_VOICE_ENGINE_VIDEO_SYNC_API
69#define WEBRTC_VOICE_ENGINE_VOLUME_CONTROL_API
70
71// ============================================================================
72// VideoEngine
73// ============================================================================
74
75// ----------------------------------------------------------------------------
76// Settings for special VideoEngine configurations
77// ----------------------------------------------------------------------------
78// ----------------------------------------------------------------------------
79// VideoEngine sub-API:s
80// ----------------------------------------------------------------------------
81
82#define WEBRTC_VIDEO_ENGINE_CAPTURE_API
83#define WEBRTC_VIDEO_ENGINE_CODEC_API
84#define WEBRTC_VIDEO_ENGINE_ENCRYPTION_API
85#define WEBRTC_VIDEO_ENGINE_FILE_API
86#define WEBRTC_VIDEO_ENGINE_IMAGE_PROCESS_API
87#define WEBRTC_VIDEO_ENGINE_NETWORK_API
88#define WEBRTC_VIDEO_ENGINE_RENDER_API
89#define WEBRTC_VIDEO_ENGINE_RTP_RTCP_API
90// #define WEBRTC_VIDEO_ENGINE_EXTERNAL_CODEC_API
91
92// ============================================================================
93// Platform specific configurations
94// ============================================================================
95
96// ----------------------------------------------------------------------------
97// VideoEngine Windows
98// ----------------------------------------------------------------------------
99
100#if defined(_WIN32)
101 // #define DIRECTDRAW_RENDERING
102 #define DIRECT3D9_RENDERING // Requires DirectX 9.
103#endif
104
105// ----------------------------------------------------------------------------
106// VideoEngine MAC
107// ----------------------------------------------------------------------------
108
109#if defined(WEBRTC_MAC) && !defined(MAC_IPHONE)
110 // #define CARBON_RENDERING
111 #define COCOA_RENDERING
112#endif
113
114// ----------------------------------------------------------------------------
115// VideoEngine Mobile iPhone
116// ----------------------------------------------------------------------------
117
118#if defined(MAC_IPHONE)
119 #define EAGL_RENDERING
120#endif
121
122// ----------------------------------------------------------------------------
123// Deprecated
124// ----------------------------------------------------------------------------
125
126// #define WEBRTC_CODEC_G729
127// #define WEBRTC_DTMF_DETECTION
128// #define WEBRTC_SRTP
129// #define WEBRTC_SRTP_ALLOW_ROC_ITERATION
130
131#endif // WEBRTC_ENGINE_CONFIGURATIONS_H_