mirror of
https://github.com/TelegramMessenger/Telegram-iOS.git
synced 2026-07-05 19:28:46 +02:00
Squashed buildout of the tgcalls testbench: - CLI test tool with --mode p2p/reflector/group/group-churn, cross-version interop (--version, --version2), and quiet/summary output - Linux toolchain + Docker multi-stage build, AWS Fargate mass test harness, local parallel mass test harness with signaling loss simulation - SCTP writable gate, retransmission timer tuning, role-based handshake - InstanceV2CompatImpl (PeerConnection backend with V2Impl signaling) and SignalingTranslator for v14.0.0 interop - In-process Go/Pion SFU (ICE+DTLS+SRTP+SCTP per participant) with audio RTP forwarding, ActiveAudio/VideoSsrcs data channel broadcast, RTCP feedback path, and CGo c-archive integration - GroupInstanceReferenceImpl (PeerConnection group-call) and mixed-impl group mode (--reference-participants), with SDP munging for simulcast - H264 simulcast group video (FakeVideoTrackSource pattern generator, FakeVideoSink frame counting, --video flag, two-pass channel setup, reactive video setup from ActiveVideoSsrcs) - Group churn stress mode (--mode group-churn, --churn-cycles) - SFU stream-quality adaptation: BandwidthEstimator, LayerSelector state machine, RtxRingBuffer, simulcast SSRC rewrite - Transport-cc feedback generation, NetworkSimulator (delay/jitter/loss/ token-bucket bandwidth), --network-scenario step-down-up - CLAUDE.md updates throughout Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
37 lines
1.1 KiB
Text
37 lines
1.1 KiB
Text
cc_binary(
|
|
name = "tgcalls_cli",
|
|
srcs = [
|
|
"main.cpp",
|
|
"group_mode.cpp",
|
|
"group_mode.h",
|
|
"group_participant.cpp",
|
|
"group_participant.h",
|
|
"group_churn_mode.cpp",
|
|
"group_churn_mode.h",
|
|
"fake_video_source.h",
|
|
"fake_video_source.cpp",
|
|
"fake_video_sink.h",
|
|
],
|
|
copts = [
|
|
"-I{}/tgcalls/tgcalls".format("submodules/TgVoipWebrtc"),
|
|
"-Ithird-party/webrtc/webrtc",
|
|
"-Ithird-party/webrtc/dependencies",
|
|
"-Ithird-party/webrtc/absl",
|
|
"-Ithird-party/libyuv",
|
|
"-DRTC_ENABLE_VP9",
|
|
"-DNDEBUG",
|
|
"-std=c++17",
|
|
"-w",
|
|
] + select({
|
|
"@platforms//os:linux": ["-DWEBRTC_LINUX", "-DWEBRTC_POSIX"],
|
|
"//conditions:default": ["-DWEBRTC_MAC", "-DWEBRTC_POSIX"],
|
|
}),
|
|
linkopts = select({
|
|
"@platforms//os:linux": ["-lpthread", "-lm", "-ldl"],
|
|
"//conditions:default": ["-framework", "CoreFoundation", "-framework", "Security"],
|
|
}),
|
|
deps = [
|
|
"//submodules/TgVoipWebrtc:tgcalls_core",
|
|
"//tools/go_sfu",
|
|
],
|
|
)
|