niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 1 | /* |
xians@webrtc.org | 9b3474a | 2012-02-02 08:59:11 +0000 | [diff] [blame] | 2 | * Copyright (c) 2012 The WebRTC project authors. All Rights Reserved. |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 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 | |
niklas.enbom@webrtc.org | b2c115c | 2011-12-21 07:38:54 +0000 | [diff] [blame] | 18 | // 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.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 24 | // #define WEBRTC_EXTERNAL_TRANSPORT |
| 25 | |
| 26 | // ---------------------------------------------------------------------------- |
| 27 | // [Voice] Codec settings |
| 28 | // ---------------------------------------------------------------------------- |
| 29 | |
tina.legrand@webrtc.org | a7d8387 | 2012-10-18 10:00:52 +0000 | [diff] [blame] | 30 | // iSAC is not included in the Mozilla build, but in all other builds. |
| 31 | #ifndef WEBRTC_MOZILLA_BUILD |
kma@webrtc.org | 94771cb | 2012-08-28 04:09:50 +0000 | [diff] [blame] | 32 | #ifdef WEBRTC_ARCH_ARM |
tina.legrand@webrtc.org | a7d8387 | 2012-10-18 10:00:52 +0000 | [diff] [blame] | 33 | #define WEBRTC_CODEC_ISACFX // Fix-point iSAC implementation. |
leozwang@webrtc.org | 22082e7 | 2012-04-18 16:52:00 +0000 | [diff] [blame] | 34 | #else |
tina.legrand@webrtc.org | a7d8387 | 2012-10-18 10:00:52 +0000 | [diff] [blame] | 35 | #define WEBRTC_CODEC_ISAC // Floating-point iSAC implementation (default). |
| 36 | #endif // WEBRTC_ARCH_ARM |
| 37 | #endif // !WEBRTC_MOZILLA_BUILD |
| 38 | |
| 39 | // AVT is included in all builds, along with G.711, NetEQ and CNG |
| 40 | // (which are mandatory and don't have any defines). |
xians@webrtc.org | 0dffc64 | 2011-11-30 15:35:44 +0000 | [diff] [blame] | 41 | #define WEBRTC_CODEC_AVT |
| 42 | |
tina.legrand@webrtc.org | a7d8387 | 2012-10-18 10:00:52 +0000 | [diff] [blame] | 43 | // iLBC, G.722, PCM16B and Redundancy coding are excluded from Chromium and |
| 44 | // Mozilla builds. |
| 45 | #if !defined(WEBRTC_CHROMIUM_BUILD) && !defined(WEBRTC_MOZILLA_BUILD) |
xians@webrtc.org | 0dffc64 | 2011-11-30 15:35:44 +0000 | [diff] [blame] | 46 | #define WEBRTC_CODEC_ILBC |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 47 | #define WEBRTC_CODEC_G722 |
| 48 | #define WEBRTC_CODEC_PCM16 |
| 49 | #define WEBRTC_CODEC_RED |
tina.legrand@webrtc.org | a7d8387 | 2012-10-18 10:00:52 +0000 | [diff] [blame] | 50 | #endif // !WEBRTC_CHROMIUM_BUILD && !WEBRTC_MOZILLA_BUILD |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 51 | |
| 52 | // ---------------------------------------------------------------------------- |
| 53 | // [Video] Codec settings |
| 54 | // ---------------------------------------------------------------------------- |
| 55 | |
| 56 | #define VIDEOCODEC_I420 |
| 57 | #define VIDEOCODEC_VP8 |
| 58 | |
| 59 | // ============================================================================ |
| 60 | // VoiceEngine |
| 61 | // ============================================================================ |
| 62 | |
| 63 | // ---------------------------------------------------------------------------- |
| 64 | // Settings for VoiceEngine |
| 65 | // ---------------------------------------------------------------------------- |
| 66 | |
| 67 | #define WEBRTC_VOICE_ENGINE_AGC // Near-end AGC |
| 68 | #define WEBRTC_VOICE_ENGINE_ECHO // Near-end AEC |
| 69 | #define WEBRTC_VOICE_ENGINE_NR // Near-end NS |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 70 | #define WEBRTC_VOE_EXTERNAL_REC_AND_PLAYOUT |
| 71 | |
xians@webrtc.org | 832d7c6 | 2011-12-08 16:45:46 +0000 | [diff] [blame] | 72 | #ifndef WEBRTC_CHROMIUM_BUILD |
| 73 | #define WEBRTC_VOICE_ENGINE_TYPING_DETECTION // Typing detection |
| 74 | #endif |
| 75 | |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 76 | // ---------------------------------------------------------------------------- |
| 77 | // VoiceEngine sub-APIs |
| 78 | // ---------------------------------------------------------------------------- |
| 79 | |
| 80 | #define WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 81 | #define WEBRTC_VOICE_ENGINE_CODEC_API |
| 82 | #define WEBRTC_VOICE_ENGINE_DTMF_API |
xians@webrtc.org | 5b6d3ce | 2012-03-15 14:40:00 +0000 | [diff] [blame] | 83 | #define WEBRTC_VOICE_ENGINE_EXTERNAL_MEDIA_API |
| 84 | #define WEBRTC_VOICE_ENGINE_FILE_API |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 85 | #define WEBRTC_VOICE_ENGINE_HARDWARE_API |
| 86 | #define WEBRTC_VOICE_ENGINE_NETEQ_STATS_API |
| 87 | #define WEBRTC_VOICE_ENGINE_NETWORK_API |
| 88 | #define WEBRTC_VOICE_ENGINE_RTP_RTCP_API |
| 89 | #define WEBRTC_VOICE_ENGINE_VIDEO_SYNC_API |
| 90 | #define WEBRTC_VOICE_ENGINE_VOLUME_CONTROL_API |
| 91 | |
xians@webrtc.org | 9b3474a | 2012-02-02 08:59:11 +0000 | [diff] [blame] | 92 | #ifndef WEBRTC_CHROMIUM_BUILD |
| 93 | #define WEBRTC_VOICE_ENGINE_CALL_REPORT_API |
| 94 | #define WEBRTC_VOICE_ENGINE_ENCRYPTION_API |
xians@webrtc.org | 9b3474a | 2012-02-02 08:59:11 +0000 | [diff] [blame] | 95 | #endif |
| 96 | |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 97 | // ============================================================================ |
| 98 | // VideoEngine |
| 99 | // ============================================================================ |
| 100 | |
| 101 | // ---------------------------------------------------------------------------- |
| 102 | // Settings for special VideoEngine configurations |
| 103 | // ---------------------------------------------------------------------------- |
| 104 | // ---------------------------------------------------------------------------- |
| 105 | // VideoEngine sub-API:s |
| 106 | // ---------------------------------------------------------------------------- |
| 107 | |
| 108 | #define WEBRTC_VIDEO_ENGINE_CAPTURE_API |
| 109 | #define WEBRTC_VIDEO_ENGINE_CODEC_API |
| 110 | #define WEBRTC_VIDEO_ENGINE_ENCRYPTION_API |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 111 | #define WEBRTC_VIDEO_ENGINE_IMAGE_PROCESS_API |
| 112 | #define WEBRTC_VIDEO_ENGINE_NETWORK_API |
| 113 | #define WEBRTC_VIDEO_ENGINE_RENDER_API |
| 114 | #define WEBRTC_VIDEO_ENGINE_RTP_RTCP_API |
| 115 | // #define WEBRTC_VIDEO_ENGINE_EXTERNAL_CODEC_API |
| 116 | |
andrew@webrtc.org | f5a91fd | 2012-07-23 16:28:02 +0000 | [diff] [blame] | 117 | // Now handled by gyp: |
| 118 | // WEBRTC_VIDEO_ENGINE_FILE_API |
xians@webrtc.org | 594ab3c | 2012-02-08 10:38:12 +0000 | [diff] [blame] | 119 | |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 120 | // ============================================================================ |
| 121 | // Platform specific configurations |
| 122 | // ============================================================================ |
| 123 | |
| 124 | // ---------------------------------------------------------------------------- |
| 125 | // VideoEngine Windows |
| 126 | // ---------------------------------------------------------------------------- |
| 127 | |
| 128 | #if defined(_WIN32) |
andrew@webrtc.org | 8012474 | 2012-03-08 17:54:24 +0000 | [diff] [blame] | 129 | #define DIRECT3D9_RENDERING // Requires DirectX 9. |
| 130 | #endif |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 131 | |
| 132 | // ---------------------------------------------------------------------------- |
| 133 | // VideoEngine MAC |
| 134 | // ---------------------------------------------------------------------------- |
| 135 | |
sjlee@webrtc.org | 414fa7f | 2012-09-11 17:25:46 +0000 | [diff] [blame] | 136 | #if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) |
andrew@webrtc.org | 8012474 | 2012-03-08 17:54:24 +0000 | [diff] [blame] | 137 | // #define CARBON_RENDERING |
| 138 | #define COCOA_RENDERING |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 139 | #endif |
| 140 | |
| 141 | // ---------------------------------------------------------------------------- |
| 142 | // VideoEngine Mobile iPhone |
| 143 | // ---------------------------------------------------------------------------- |
| 144 | |
sjlee@webrtc.org | 414fa7f | 2012-09-11 17:25:46 +0000 | [diff] [blame] | 145 | #if defined(WEBRTC_IOS) |
andrew@webrtc.org | 8012474 | 2012-03-08 17:54:24 +0000 | [diff] [blame] | 146 | #define EAGL_RENDERING |
niklase@google.com | 470e71d | 2011-07-07 08:21:25 +0000 | [diff] [blame] | 147 | #endif |
| 148 | |
| 149 | // ---------------------------------------------------------------------------- |
| 150 | // Deprecated |
| 151 | // ---------------------------------------------------------------------------- |
| 152 | |
| 153 | // #define WEBRTC_CODEC_G729 |
| 154 | // #define WEBRTC_DTMF_DETECTION |
| 155 | // #define WEBRTC_SRTP |
| 156 | // #define WEBRTC_SRTP_ALLOW_ROC_ITERATION |
| 157 | |
| 158 | #endif // WEBRTC_ENGINE_CONFIGURATIONS_H_ |