Overte C++ Documentation
WebRTC.h
1 //
2 // WebRTC.h
3 // libraries/shared/src/shared/
4 //
5 // Copyright 2019 High Fidelity, Inc.
6 // Copyright 2021 Vircadia contributors.
7 // Copyright 2023-2025 Overte e.V.
8 //
9 // Distributed under the Apache License, Version 2.0.
10 // See the accompanying file LICENSE or http://www.apache.org/licenses/LICENSE-2.0.html
11 // SPDX-License-Identifier: Apache-2.0
12 //
13 
14 #ifndef hifi_WebRTC_h
15 #define hifi_WebRTC_h
16 
17 #ifndef QSYSTEMDETECTION_H
18 #include <qsystemdetection.h>
19 #endif
20 
21 // WEBRTC_AUDIO: WebRTC audio features, e.g., echo canceling.
22 // WEBRTC_DATA_CHANNELS: WebRTC client-server connections in parallel with UDP.
23 
24 #if defined(Q_OS_MAC)
25 # define WEBRTC_AUDIO 1
26 #elif defined(Q_OS_WIN)
27 # define WEBRTC_AUDIO 1
28 // We use PulseAudio's webrtc-audio-processing, which doesn't include Data Channels.
29 // Data Channels were only used for Vircadia's web client.
30 // We should replace Google WebRTC with libdatachannel if we ever resurrect it.
31 // # define WEBRTC_DATA_CHANNELS 1
32 # define WEBRTC_WIN 1
33 # define NOMINMAX 1 // Windows.h
34 # ifndef WIN32_LEAN_AND_MEAN
35 # define WIN32_LEAN_AND_MEAN 1
36 # endif
37 #elif defined(Q_OS_ANDROID)
38 # define WEBRTC_AUDIO 1
39 #elif defined(Q_OS_LINUX)
40 # ifndef DISABLE_WEBRTC
41 # define WEBRTC_AUDIO 1
42 // # define WEBRTC_DATA_CHANNELS 1
43 # endif
44 #endif
45 
46 #endif // hifi_WebRTC_h