mirror of
https://github.com/oxen-io/session-android.git
synced 2024-12-22 16:07:30 +00:00
d83a3d71bc
Merge in RedPhone // FREEBIE
156 lines
5.7 KiB
C
156 lines
5.7 KiB
C
/*
|
|
* 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 is 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
|
|
#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, G.722, 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_G722
|
|
#define WEBRTC_CODEC_RED
|
|
#endif // !WEBRTC_CHROMIUM_BUILD && !WEBRTC_MOZILLA_BUILD
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// [Video] Codec settings
|
|
// ----------------------------------------------------------------------------
|
|
|
|
#define VIDEOCODEC_I420
|
|
#define VIDEOCODEC_VP8
|
|
#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
|
|
|
|
// ============================================================================
|
|
// VideoEngine
|
|
// ============================================================================
|
|
|
|
// ----------------------------------------------------------------------------
|
|
// Settings for special VideoEngine configurations
|
|
// ----------------------------------------------------------------------------
|
|
// ----------------------------------------------------------------------------
|
|
// VideoEngine sub-API:s
|
|
// ----------------------------------------------------------------------------
|
|
|
|
#define WEBRTC_VIDEO_ENGINE_CAPTURE_API
|
|
#define WEBRTC_VIDEO_ENGINE_CODEC_API
|
|
#define WEBRTC_VIDEO_ENGINE_IMAGE_PROCESS_API
|
|
#define WEBRTC_VIDEO_ENGINE_RENDER_API
|
|
#define WEBRTC_VIDEO_ENGINE_RTP_RTCP_API
|
|
#define WEBRTC_VIDEO_ENGINE_EXTERNAL_CODEC_API
|
|
|
|
// Now handled by gyp:
|
|
// WEBRTC_VIDEO_ENGINE_FILE_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_CODEC_G729
|
|
// #define WEBRTC_DTMF_DETECTION
|
|
|
|
// For RedPhone
|
|
#undef WEBRTC_CODEC_CELT
|
|
#undef WEBRTC_CODEC_G722
|
|
#undef WEBRTC_CODEC_ILBC
|
|
#undef WEBRTC_CODEC_ISACFX
|
|
#undef WEBRTC_CODEC_ISAC
|
|
#undef WEBRTC_CODEC_OPUS
|
|
#undef WEBRTC_CODEC_PCM16
|
|
|
|
|
|
|
|
#endif // WEBRTC_ENGINE_CONFIGURATIONS_H_
|