|  | /* | 
|  | *  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_ENGINE_CONFIGURATIONS_H_ | 
|  | #define WEBRTC_ENGINE_CONFIGURATIONS_H_ | 
|  |  | 
|  | #include "webrtc/typedefs.h" | 
|  |  | 
|  | // ============================================================================ | 
|  | //                              Voice and Video | 
|  | // ============================================================================ | 
|  |  | 
|  | // ---------------------------------------------------------------------------- | 
|  | //  [Voice] Codec settings | 
|  | // ---------------------------------------------------------------------------- | 
|  |  | 
|  | // iSAC and G722 are not included in the Mozilla build, but in all other builds. | 
|  | #ifndef WEBRTC_MOZILLA_BUILD | 
|  | #ifdef WEBRTC_ARCH_ARM | 
|  | #define WEBRTC_CODEC_ISACFX  // Fix-point iSAC implementation. | 
|  | #else | 
|  | #define WEBRTC_CODEC_ISAC  // Floating-point iSAC implementation (default). | 
|  | #endif  // WEBRTC_ARCH_ARM | 
|  | #define WEBRTC_CODEC_G722 | 
|  | #endif  // !WEBRTC_MOZILLA_BUILD | 
|  |  | 
|  | // AVT is included in all builds, along with G.711, NetEQ and CNG | 
|  | // (which are mandatory and don't have any defines). | 
|  | #define WEBRTC_CODEC_AVT | 
|  |  | 
|  | // PCM16 is useful for testing and incurs only a small binary size cost. | 
|  | #define WEBRTC_CODEC_PCM16 | 
|  |  | 
|  | // iLBC and Redundancy coding are excluded from Chromium and Mozilla | 
|  | // builds to reduce binary size. | 
|  | #if !defined(WEBRTC_CHROMIUM_BUILD) && !defined(WEBRTC_MOZILLA_BUILD) | 
|  | #define WEBRTC_CODEC_ILBC | 
|  | #define WEBRTC_CODEC_RED | 
|  | #endif  // !WEBRTC_CHROMIUM_BUILD && !WEBRTC_MOZILLA_BUILD | 
|  |  | 
|  | // ---------------------------------------------------------------------------- | 
|  | //  [Video] Codec settings | 
|  | // ---------------------------------------------------------------------------- | 
|  |  | 
|  | #define VIDEOCODEC_I420 | 
|  | #define VIDEOCODEC_VP8 | 
|  | #define VIDEOCODEC_VP9 | 
|  | #define VIDEOCODEC_H264 | 
|  |  | 
|  | // ============================================================================ | 
|  | //                                 VoiceEngine | 
|  | // ============================================================================ | 
|  |  | 
|  | // ---------------------------------------------------------------------------- | 
|  | //  Settings for VoiceEngine | 
|  | // ---------------------------------------------------------------------------- | 
|  |  | 
|  | #define WEBRTC_VOICE_ENGINE_AGC                 // Near-end AGC | 
|  | #define WEBRTC_VOICE_ENGINE_ECHO                // Near-end AEC | 
|  | #define WEBRTC_VOICE_ENGINE_NR                  // Near-end NS | 
|  |  | 
|  | #if !defined(WEBRTC_ANDROID) && !defined(WEBRTC_IOS) | 
|  | #define WEBRTC_VOICE_ENGINE_TYPING_DETECTION    // Typing detection | 
|  | #endif | 
|  |  | 
|  | // ---------------------------------------------------------------------------- | 
|  | //  VoiceEngine sub-APIs | 
|  | // ---------------------------------------------------------------------------- | 
|  |  | 
|  | #define WEBRTC_VOICE_ENGINE_AUDIO_PROCESSING_API | 
|  | #define WEBRTC_VOICE_ENGINE_CODEC_API | 
|  | #define WEBRTC_VOICE_ENGINE_DTMF_API | 
|  | #define WEBRTC_VOICE_ENGINE_EXTERNAL_MEDIA_API | 
|  | #define WEBRTC_VOICE_ENGINE_FILE_API | 
|  | #define WEBRTC_VOICE_ENGINE_HARDWARE_API | 
|  | #define WEBRTC_VOICE_ENGINE_NETEQ_STATS_API | 
|  | #define WEBRTC_VOICE_ENGINE_RTP_RTCP_API | 
|  | #define WEBRTC_VOICE_ENGINE_VIDEO_SYNC_API | 
|  | #define WEBRTC_VOICE_ENGINE_VOLUME_CONTROL_API | 
|  |  | 
|  | // ============================================================================ | 
|  | //                       Platform specific configurations | 
|  | // ============================================================================ | 
|  |  | 
|  | // ---------------------------------------------------------------------------- | 
|  | //  VideoEngine Windows | 
|  | // ---------------------------------------------------------------------------- | 
|  |  | 
|  | #if defined(_WIN32) | 
|  | #define DIRECT3D9_RENDERING  // Requires DirectX 9. | 
|  | #endif | 
|  |  | 
|  | // ---------------------------------------------------------------------------- | 
|  | //  VideoEngine MAC | 
|  | // ---------------------------------------------------------------------------- | 
|  |  | 
|  | #if defined(WEBRTC_MAC) && !defined(WEBRTC_IOS) | 
|  | // #define CARBON_RENDERING | 
|  | #define COCOA_RENDERING | 
|  | #endif | 
|  |  | 
|  | // ---------------------------------------------------------------------------- | 
|  | //  VideoEngine Mobile iPhone | 
|  | // ---------------------------------------------------------------------------- | 
|  |  | 
|  | #if defined(WEBRTC_IOS) | 
|  | #define EAGL_RENDERING | 
|  | #endif | 
|  |  | 
|  | // ---------------------------------------------------------------------------- | 
|  | //  Deprecated | 
|  | // ---------------------------------------------------------------------------- | 
|  |  | 
|  | // #define WEBRTC_DTMF_DETECTION | 
|  |  | 
|  | #endif  // WEBRTC_ENGINE_CONFIGURATIONS_H_ |