1828c5356 fix(toxav): remove extra copy of video frame on encode b66b8ded6 refactor: improve group stability, moderation determinism, and DHT dual-stack handling 4fbd7c10a fix(toxav): fix heap buffer overflow in RTP video packet handling 809fe8c78 refactor(tox): make the `#define` consts int literals. 50d242a37 refactor(toxav): improve MSI safety and testability da1c13a2f fix(toxav): harden video processing and fix large frame handling 472825288 fix(toxav): fix multiple logic bugs in audio module dc963d9a9 fix(toxav): fix multiple bugs in bandwidth controller and add tests 3bf5778ef refactor(toxav): split out RTP module and add exhaustive unit tests b79b7d436 fix(autotools): add tox_log_level.h to public headers list ea2e34ff2 chore: Disable cirrus. We're out of quota again. b449ea2ed chore(ci): update azure runner image to windows-2022 windows-2019 is EOL e115b136d refactor: Make add_to_list non-recursive. REVERT: e58eb27a8 fix(toxav): remove extra copy of video frame on encode Tested and works, but there might be alignment issues and other stuff. git-subtree-dir: external/toxcore/c-toxcore git-subtree-split: 1828c5356b2daf1d5f680854e776d74b181d268c
241 lines
5.4 KiB
Python
241 lines
5.4 KiB
Python
load("@rules_cc//cc:defs.bzl", "cc_test")
|
|
load("@rules_fuzzing//fuzzing:cc_defs.bzl", "cc_fuzz_test")
|
|
load("//tools:no_undefined.bzl", "cc_library")
|
|
|
|
exports_files(
|
|
srcs = ["toxav.h"],
|
|
visibility = ["//c-toxcore:__pkg__"],
|
|
)
|
|
|
|
# Private library with the public API header in it because in toxav, lots of
|
|
# things depend on the public API header.
|
|
cc_library(
|
|
name = "public_api",
|
|
hdrs = ["toxav.h"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "ring_buffer",
|
|
srcs = ["ring_buffer.c"],
|
|
hdrs = ["ring_buffer.h"],
|
|
deps = ["//c-toxcore/toxcore:ccompat"],
|
|
)
|
|
|
|
cc_test(
|
|
name = "ring_buffer_test",
|
|
size = "small",
|
|
srcs = ["ring_buffer_test.cc"],
|
|
deps = [
|
|
":ring_buffer",
|
|
"@com_google_googletest//:gtest",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "ring_buffer_srcs",
|
|
hdrs = [
|
|
"ring_buffer.c",
|
|
"ring_buffer.h",
|
|
],
|
|
visibility = ["//c-toxcore/testing:__pkg__"],
|
|
deps = ["//c-toxcore/toxcore:ccompat"],
|
|
)
|
|
|
|
cc_library(
|
|
name = "rtp",
|
|
srcs = ["rtp.c"],
|
|
hdrs = ["rtp.h"],
|
|
visibility = ["//c-toxcore:__subpackages__"],
|
|
deps = [
|
|
"//c-toxcore/toxcore:ccompat",
|
|
"//c-toxcore/toxcore:logger",
|
|
"//c-toxcore/toxcore:mono_time",
|
|
"//c-toxcore/toxcore:net_crypto",
|
|
"//c-toxcore/toxcore:network",
|
|
"//c-toxcore/toxcore:util",
|
|
"@libsodium",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "rtp_test",
|
|
size = "small",
|
|
srcs = ["rtp_test.cc"],
|
|
deps = [
|
|
":rtp",
|
|
"//c-toxcore/toxcore:logger",
|
|
"//c-toxcore/toxcore:mono_time",
|
|
"//c-toxcore/toxcore:net_crypto",
|
|
"//c-toxcore/toxcore:os_memory",
|
|
"@com_google_googletest//:gtest",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_fuzz_test(
|
|
name = "rtp_fuzz_test",
|
|
size = "small",
|
|
srcs = ["rtp_fuzz_test.cc"],
|
|
copts = ["-UNDEBUG"],
|
|
deps = [
|
|
":rtp",
|
|
"//c-toxcore/testing/fuzzing:fuzz_support",
|
|
"//c-toxcore/toxcore:logger",
|
|
"//c-toxcore/toxcore:mono_time",
|
|
"//c-toxcore/toxcore:os_memory",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "bwcontroller",
|
|
srcs = ["bwcontroller.c"],
|
|
hdrs = ["bwcontroller.h"],
|
|
deps = [
|
|
":ring_buffer",
|
|
"//c-toxcore/toxcore:ccompat",
|
|
"//c-toxcore/toxcore:logger",
|
|
"//c-toxcore/toxcore:mono_time",
|
|
"//c-toxcore/toxcore:network",
|
|
"//c-toxcore/toxcore:util",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "bwcontroller_test",
|
|
size = "small",
|
|
srcs = ["bwcontroller_test.cc"],
|
|
deps = [
|
|
":bwcontroller",
|
|
"//c-toxcore/toxcore:logger",
|
|
"//c-toxcore/toxcore:mono_time",
|
|
"//c-toxcore/toxcore:os_memory",
|
|
"@com_google_googletest//:gtest",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "audio",
|
|
srcs = ["audio.c"],
|
|
hdrs = ["audio.h"],
|
|
deps = [
|
|
":ring_buffer",
|
|
":rtp",
|
|
"//c-toxcore/toxcore:ccompat",
|
|
"//c-toxcore/toxcore:logger",
|
|
"//c-toxcore/toxcore:mono_time",
|
|
"//c-toxcore/toxcore:network",
|
|
"//c-toxcore/toxcore:util",
|
|
"@opus",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "audio_test",
|
|
timeout = "moderate",
|
|
srcs = ["audio_test.cc"],
|
|
deps = [
|
|
":audio",
|
|
":rtp",
|
|
"//c-toxcore/toxcore:logger",
|
|
"//c-toxcore/toxcore:mono_time",
|
|
"//c-toxcore/toxcore:os_memory",
|
|
"@com_google_googletest//:gtest",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "video",
|
|
srcs = ["video.c"],
|
|
hdrs = ["video.h"],
|
|
deps = [
|
|
":ring_buffer",
|
|
":rtp",
|
|
"//c-toxcore/toxcore:ccompat",
|
|
"//c-toxcore/toxcore:logger",
|
|
"//c-toxcore/toxcore:mono_time",
|
|
"//c-toxcore/toxcore:util",
|
|
"@libvpx",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "video_test",
|
|
timeout = "moderate",
|
|
srcs = ["video_test.cc"],
|
|
deps = [
|
|
":rtp",
|
|
":video",
|
|
"//c-toxcore/toxcore:logger",
|
|
"//c-toxcore/toxcore:mono_time",
|
|
"//c-toxcore/toxcore:os_memory",
|
|
"@com_google_googletest//:gtest",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "msi",
|
|
srcs = ["msi.c"],
|
|
hdrs = ["msi.h"],
|
|
visibility = ["//c-toxcore:__subpackages__"],
|
|
deps = [
|
|
"//c-toxcore/toxcore:ccompat",
|
|
"//c-toxcore/toxcore:logger",
|
|
"//c-toxcore/toxcore:util",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "msi_test",
|
|
size = "small",
|
|
srcs = ["msi_test.cc"],
|
|
deps = [
|
|
":msi",
|
|
"//c-toxcore/toxcore:os_memory",
|
|
"@com_google_googletest//:gtest",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "toxav",
|
|
srcs = [
|
|
"groupav.c",
|
|
"groupav.h",
|
|
"toxav.c",
|
|
"toxav_old.c",
|
|
],
|
|
hdrs = ["toxav.h"],
|
|
visibility = ["//c-toxcore:__subpackages__"],
|
|
deps = [
|
|
":audio",
|
|
":bwcontroller",
|
|
":msi",
|
|
":rtp",
|
|
":video",
|
|
"//c-toxcore/toxcore:Messenger",
|
|
"//c-toxcore/toxcore:ccompat",
|
|
"//c-toxcore/toxcore:group",
|
|
"//c-toxcore/toxcore:logger",
|
|
"//c-toxcore/toxcore:mono_time",
|
|
"//c-toxcore/toxcore:net_crypto",
|
|
"//c-toxcore/toxcore:network",
|
|
"//c-toxcore/toxcore:tox",
|
|
"//c-toxcore/toxcore:util",
|
|
"@libsodium",
|
|
"@opus",
|
|
],
|
|
)
|
|
|
|
sh_library(
|
|
name = "cimple_files",
|
|
srcs = glob([
|
|
"*.c",
|
|
"*.h",
|
|
]),
|
|
visibility = ["//c-toxcore/testing:__pkg__"],
|
|
)
|