init
Some checks failed
Docker. / Ubuntu (push) Has been cancelled
User-agent updater. / User-agent (push) Failing after 15s
Lock Threads / lock (push) Failing after 10s
Waiting for answer. / waiting-for-answer (push) Failing after 22s
Close stale issues and PRs / stale (push) Successful in 13s
Needs user action. / needs-user-action (push) Failing after 8s
Can't reproduce. / cant-reproduce (push) Failing after 8s

This commit is contained in:
allhaileris
2026-02-16 15:50:16 +03:00
commit afb81b8278
13816 changed files with 3689732 additions and 0 deletions

View File

@@ -0,0 +1,278 @@
# This file is part of Telegram Desktop,
# the official desktop application for the Telegram messaging service.
#
# For license and copyright information please follow this link:
# https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
add_library(lib_tgcalls STATIC)
init_target(lib_tgcalls) # Can't use std::optional::value on macOS.
add_library(tdesktop::lib_tgcalls ALIAS lib_tgcalls)
set(tgcalls_dir ${third_party_loc}/tgcalls)
set(tgcalls_loc ${tgcalls_dir}/tgcalls)
nice_target_sources(lib_tgcalls ${tgcalls_loc}
PRIVATE
Instance.cpp
Instance.h
)
nice_target_sources(lib_tgcalls ${tgcalls_loc}
PRIVATE
AudioDeviceHelper.cpp
AudioDeviceHelper.h
ChannelManager.cpp
ChannelManager.h
CodecSelectHelper.cpp
CodecSelectHelper.h
CryptoHelper.cpp
CryptoHelper.h
DirectConnectionChannel.h
EncryptedConnection.cpp
EncryptedConnection.h
FakeAudioDeviceModule.cpp
FakeAudioDeviceModule.h
FieldTrialsConfig.cpp
FieldTrialsConfig.h
InstanceImpl.cpp
InstanceImpl.h
LogSinkImpl.cpp
LogSinkImpl.h
Manager.cpp
Manager.h
MediaManager.cpp
MediaManager.h
Message.cpp
Message.h
NetworkManager.cpp
NetworkManager.h
SctpDataChannelProviderInterfaceImpl.cpp
SctpDataChannelProviderInterfaceImpl.h
StaticThreads.cpp
StaticThreads.h
ThreadLocalObject.h
TurnCustomizerImpl.cpp
TurnCustomizerImpl.h
VideoCaptureInterface.cpp
VideoCaptureInterface.h
VideoCaptureInterfaceImpl.cpp
VideoCaptureInterfaceImpl.h
VideoCapturerInterface.h
utils/gzip.cpp
utils/gzip.h
v2/ContentNegotiation.cpp
v2/ContentNegotiation.h
v2/DirectNetworkingImpl.cpp
v2/DirectNetworkingImpl.h
v2/ExternalSignalingConnection.cpp
v2/ExternalSignalingConnection.h
v2/InstanceNetworking.h
v2/InstanceV2ReferenceImpl.cpp
v2/InstanceV2ReferenceImpl.h
v2/InstanceV2Impl.cpp
v2/InstanceV2Impl.h
v2/NativeNetworkingImpl.cpp
v2/NativeNetworkingImpl.h
v2/RawTcpSocket.cpp
v2/RawTcpSocket.h
v2/ReflectorPort.cpp
v2/ReflectorPort.h
v2/ReflectorRelayPortFactory.cpp
v2/ReflectorRelayPortFactory.h
v2/Signaling.cpp
v2/Signaling.h
v2/SignalingConnection.cpp
v2/SignalingConnection.h
v2/SignalingEncryption.cpp
v2/SignalingEncryption.h
v2/SignalingSctpConnection.cpp
v2/SignalingSctpConnection.h
# Desktop capturer
desktop_capturer/DesktopCaptureSource.h
desktop_capturer/DesktopCaptureSource.cpp
desktop_capturer/DesktopCaptureSourceHelper.h
desktop_capturer/DesktopCaptureSourceHelper.cpp
desktop_capturer/DesktopCaptureSourceManager.h
desktop_capturer/DesktopCaptureSourceManager.cpp
# Group calls
group/AVIOContextImpl.cpp
group/AVIOContextImpl.h
group/AudioStreamingPart.cpp
group/AudioStreamingPart.h
group/AudioStreamingPartInternal.cpp
group/AudioStreamingPartInternal.h
group/AudioStreamingPartPersistentDecoder.cpp
group/AudioStreamingPartPersistentDecoder.h
group/GroupInstanceCustomImpl.cpp
group/GroupInstanceCustomImpl.h
group/GroupInstanceImpl.h
group/GroupJoinPayloadInternal.cpp
group/GroupJoinPayloadInternal.h
group/GroupJoinPayload.h
group/GroupNetworkManager.cpp
group/GroupNetworkManager.h
group/StreamingMediaContext.cpp
group/StreamingMediaContext.h
group/VideoStreamingPart.cpp
group/VideoStreamingPart.h
platform/PlatformInterface.h
# Android
platform/android/AndroidContext.cpp
platform/android/AndroidContext.h
platform/android/AndroidInterface.cpp
platform/android/AndroidInterface.h
platform/android/VideoCameraCapturer.cpp
platform/android/VideoCameraCapturer.h
platform/android/VideoCapturerInterfaceImpl.cpp
platform/android/VideoCapturerInterfaceImpl.h
# iOS / macOS
platform/darwin/CustomSimulcastEncoderAdapter.cpp
platform/darwin/CustomSimulcastEncoderAdapter.h
platform/darwin/DarwinFFMpeg.h
platform/darwin/DarwinFFMpeg.mm
platform/darwin/DarwinInterface.h
platform/darwin/DarwinInterface.mm
platform/darwin/DarwinVideoSource.h
platform/darwin/DarwinVideoSource.mm
platform/darwin/DesktopSharingCapturer.h
platform/darwin/DesktopSharingCapturer.mm
platform/darwin/ExtractCVPixelBuffer.h
platform/darwin/ExtractCVPixelBuffer.mm
platform/darwin/h265_nalu_rewriter.cc
platform/darwin/h265_nalu_rewriter.h
platform/darwin/objc_video_encoder_factory.h
platform/darwin/objc_video_encoder_factory.mm
platform/darwin/objc_video_decoder_factory.h
platform/darwin/objc_video_decoder_factory.mm
platform/darwin/RTCCodecSpecificInfoH265+Private.h
platform/darwin/RTCCodecSpecificInfoH265.h
platform/darwin/RTCCodecSpecificInfoH265.mm
platform/darwin/RTCH265ProfileLevelId.h
platform/darwin/RTCH265ProfileLevelId.mm
platform/darwin/TGCMIOCapturer.h
platform/darwin/TGCMIOCapturer.m
platform/darwin/TGCMIODevice.h
platform/darwin/TGCMIODevice.mm
platform/darwin/TGRTCCVPixelBuffer.h
platform/darwin/TGRTCCVPixelBuffer.mm
platform/darwin/TGRTCDefaultVideoDecoderFactory.h
platform/darwin/TGRTCDefaultVideoDecoderFactory.mm
platform/darwin/TGRTCDefaultVideoEncoderFactory.h
platform/darwin/TGRTCDefaultVideoEncoderFactory.mm
platform/darwin/TGRTCVideoDecoderH264.h
platform/darwin/TGRTCVideoDecoderH264.mm
platform/darwin/TGRTCVideoDecoderH265.h
platform/darwin/TGRTCVideoDecoderH265.mm
platform/darwin/TGRTCVideoEncoderH264.h
platform/darwin/TGRTCVideoEncoderH264.mm
platform/darwin/TGRTCVideoEncoderH265.h
platform/darwin/TGRTCVideoEncoderH265.mm
platform/darwin/VideoCameraCapturer.h
platform/darwin/VideoCameraCapturer.mm
platform/darwin/VideoCameraCapturerMac.h
platform/darwin/VideoCameraCapturerMac.mm
platform/darwin/VideoCapturerInterfaceImpl.h
platform/darwin/VideoCapturerInterfaceImpl.mm
platform/darwin/VideoCMIOCapture.h
platform/darwin/VideoCMIOCapture.mm
platform/darwin/VideoMetalView.h
platform/darwin/VideoMetalView.mm
platform/darwin/VideoMetalViewMac.h
platform/darwin/VideoMetalViewMac.mm
# POSIX
# Teleram Desktop
platform/tdesktop/DesktopInterface.cpp
platform/tdesktop/DesktopInterface.h
platform/tdesktop/VideoCapturerInterfaceImpl.cpp
platform/tdesktop/VideoCapturerInterfaceImpl.h
platform/tdesktop/VideoCapturerTrackSource.cpp
platform/tdesktop/VideoCapturerTrackSource.h
platform/tdesktop/VideoCameraCapturer.cpp
platform/tdesktop/VideoCameraCapturer.h
# third-party
third-party/json11.cpp
third-party/json11.hpp
)
target_link_libraries(lib_tgcalls
PRIVATE
desktop-app::external_webrtc
desktop-app::external_ffmpeg
desktop-app::external_openssl
desktop-app::external_rnnoise
desktop-app::external_zlib
)
target_compile_definitions(lib_tgcalls
PUBLIC
TGCALLS_USE_STD_OPTIONAL
PRIVATE
WEBRTC_APP_TDESKTOP
RTC_ENABLE_H265
RTC_ENABLE_VP9
)
if (APPLE)
target_compile_options(lib_tgcalls
PRIVATE
-fobjc-arc
)
remove_target_sources(lib_tgcalls ${tgcalls_loc}
platform/darwin/VideoCameraCapturer.h
platform/darwin/VideoCameraCapturer.mm
platform/darwin/VideoMetalView.h
platform/darwin/VideoMetalView.mm
platform/darwin/VideoMetalViewMac.h
platform/darwin/VideoMetalViewMac.mm
platform/tdesktop/DesktopInterface.cpp
platform/tdesktop/DesktopInterface.h
platform/tdesktop/VideoCapturerInterfaceImpl.cpp
platform/tdesktop/VideoCapturerInterfaceImpl.h
platform/tdesktop/VideoCapturerTrackSource.cpp
platform/tdesktop/VideoCapturerTrackSource.h
platform/tdesktop/VideoCameraCapturer.cpp
platform/tdesktop/VideoCameraCapturer.h
)
endif()
if (NOT MSVC)
target_compile_options_if_exists(lib_tgcalls
PRIVATE
-Wno-deprecated-volatile
-Wno-ambiguous-reversed-operator
-Wno-deprecated-declarations
-Wno-unqualified-std-cast-call
-Wno-unused-function
)
endif()
remove_target_sources(lib_tgcalls ${tgcalls_loc}
platform/android/AndroidContext.cpp
platform/android/AndroidContext.h
platform/android/AndroidInterface.cpp
platform/android/AndroidInterface.h
platform/android/VideoCameraCapturer.cpp
platform/android/VideoCameraCapturer.h
platform/android/VideoCapturerInterfaceImpl.cpp
platform/android/VideoCapturerInterfaceImpl.h
reference/InstanceImplReference.cpp
reference/InstanceImplReference.h
)
target_include_directories(lib_tgcalls
PUBLIC
${tgcalls_dir}
PRIVATE
${tgcalls_loc}
)