Squashed 'external/toxcore/c-toxcore/' changes from 1828c5356..c9cdae001

c9cdae001 fix(toxav): remove extra copy of video frame on encode
4f6d4546b test: Improve the fake network library.
a2581e700 refactor(toxcore): generate `Friend_Request` and `Dht_Nodes_Response`
2aaa11770 refactor(toxcore): use Tox_Memory in generated events
5c367452b test(toxcore): fix incorrect mutex in tox_scenario_get_time
8f92e710f perf: Add a timed limit of number of cookie requests.
695b6417a test: Add some more simulated network support.
815ae9ce9 test(toxcore): fix thread-safety in scenario framework
6d85c754e test(toxcore): add unit tests for net_crypto
9c22e79cc test(support): add SimulatedEnvironment for deterministic testing
f34fcb195 chore: Update windows Dockerfile to debian stable (trixie).
ece0e8980 fix(group_moderation): allow validating unsorted sanction list signatures
a4fa754d7 refactor: rename struct Packet to struct Net_Packet
d6f330f85 cleanup: Fix some warnings from coverity.
e206bffa2 fix(group_chats): fix sync packets reverting topics
0e4715598 test: Add new scenario testing framework.
668291f44 refactor(toxcore): decouple Network_Funcs from sockaddr via IP_Port
fc4396cef fix: potential division by zero in toxav and unsafe hex parsing
8e8b352ab refactor: Add nullable annotations to struct members.
7740bb421 refactor: decouple net_crypto from DHT
1936d4296 test: add benchmark for toxav audio and video
46bfdc2df fix: correct printf format specifiers for unsigned integers
REVERT: 1828c5356 fix(toxav): remove extra copy of video frame on encode

git-subtree-dir: external/toxcore/c-toxcore
git-subtree-split: c9cdae001341e701fca980c9bb9febfeb95d2902
This commit is contained in:
Green Sky
2026-01-11 14:42:31 +01:00
parent e95f2cbb1c
commit 565efa4f39
328 changed files with 19057 additions and 13982 deletions

View File

@@ -31,7 +31,7 @@ typedef struct Group_JitterBuffer {
uint64_t last_queued_time;
} Group_JitterBuffer;
static void free_audio_packet(Group_Audio_Packet *pk)
static void free_audio_packet(Group_Audio_Packet *_Nullable pk)
{
if (pk == nullptr) {
return;
@@ -41,7 +41,7 @@ static void free_audio_packet(Group_Audio_Packet *pk)
free(pk);
}
static Group_JitterBuffer *create_queue(unsigned int capacity)
static Group_JitterBuffer *_Nullable create_queue(unsigned int capacity)
{
unsigned int size = 1;
@@ -67,7 +67,7 @@ static Group_JitterBuffer *create_queue(unsigned int capacity)
return q;
}
static void clear_queue(Group_JitterBuffer *q)
static void clear_queue(Group_JitterBuffer *_Nonnull q)
{
while (q->bottom != q->top) {
const size_t idx = q->bottom % q->size;
@@ -77,7 +77,7 @@ static void clear_queue(Group_JitterBuffer *q)
}
}
static void terminate_queue(Group_JitterBuffer *q)
static void terminate_queue(Group_JitterBuffer *_Nullable q)
{
if (q == nullptr) {
return;
@@ -91,7 +91,7 @@ static void terminate_queue(Group_JitterBuffer *q)
/** @retval 0 if packet was queued
* @retval -1 if it wasn't.
*/
static int queue(Group_JitterBuffer *q, const Mono_Time *mono_time, Group_Audio_Packet *pk)
static int queue(Group_JitterBuffer *_Nonnull q, const Mono_Time *_Nonnull mono_time, Group_Audio_Packet *_Nonnull pk)
{
const uint16_t sequnum = pk->sequnum;
@@ -133,7 +133,7 @@ static int queue(Group_JitterBuffer *q, const Mono_Time *mono_time, Group_Audio_
* - 1 when there's a good packet
* - 2 when there's a lost packet
*/
static Group_Audio_Packet *dequeue(Group_JitterBuffer *q, int *success)
static Group_Audio_Packet *_Nullable dequeue(Group_JitterBuffer *_Nonnull q, int *_Nonnull success)
{
if (q->top == q->bottom) {
*success = 0;
@@ -185,7 +185,7 @@ typedef struct Group_Peer_AV {
unsigned int last_packet_samples;
} Group_Peer_AV;
static void kill_group_av(Group_AV *group_av)
static void kill_group_av(Group_AV *_Nonnull group_av)
{
if (group_av->audio_encoder != nullptr) {
opus_encoder_destroy(group_av->audio_encoder);
@@ -194,7 +194,7 @@ static void kill_group_av(Group_AV *group_av)
free(group_av);
}
static int recreate_encoder(Group_AV *group_av)
static int recreate_encoder(Group_AV *_Nonnull group_av)
{
if (group_av->audio_encoder != nullptr) {
opus_encoder_destroy(group_av->audio_encoder);
@@ -232,8 +232,8 @@ static int recreate_encoder(Group_AV *group_av)
return 0;
}
static Group_AV *new_group_av(const Logger *log, Tox *tox, Group_Chats *g_c, audio_data_cb *audio_callback,
void *userdata)
static Group_AV *_Nullable new_group_av(const Logger *_Nonnull log, Tox *_Nonnull tox, Group_Chats *_Nonnull g_c, audio_data_cb *_Nullable audio_callback,
void *_Nullable userdata)
{
if (g_c == nullptr) {
return nullptr;
@@ -255,7 +255,7 @@ static Group_AV *new_group_av(const Logger *log, Tox *tox, Group_Chats *g_c, aud
return group_av;
}
static void group_av_peer_new(void *object, Tox_Conference_Number conference_number, Tox_Conference_Peer_Number peer_number)
static void group_av_peer_new(void *_Nonnull object, Tox_Conference_Number conference_number, Tox_Conference_Peer_Number peer_number)
{
const Group_AV *group_av = (const Group_AV *)object;
Group_Peer_AV *peer_av = (Group_Peer_AV *)calloc(1, sizeof(Group_Peer_AV));
@@ -272,7 +272,7 @@ static void group_av_peer_new(void *object, Tox_Conference_Number conference_num
}
}
static void group_av_peer_delete(void *object, Tox_Conference_Number conference_number, void *peer_object)
static void group_av_peer_delete(void *_Nullable object, Tox_Conference_Number conference_number, void *_Nullable peer_object)
{
Group_Peer_AV *peer_av = (Group_Peer_AV *)peer_object;
@@ -288,7 +288,7 @@ static void group_av_peer_delete(void *object, Tox_Conference_Number conference_
free(peer_object);
}
static void group_av_groupchat_delete(void *object, Tox_Conference_Number conference_number)
static void group_av_groupchat_delete(void *_Nullable object, Tox_Conference_Number conference_number)
{
Group_AV *group_av = (Group_AV *)object;
if (group_av != nullptr) {
@@ -296,7 +296,7 @@ static void group_av_groupchat_delete(void *object, Tox_Conference_Number confer
}
}
static int decode_audio_packet(Group_AV *group_av, Group_Peer_AV *peer_av, Tox_Conference_Number conference_number,
static int decode_audio_packet(Group_AV *_Nonnull group_av, Group_Peer_AV *_Nonnull peer_av, Tox_Conference_Number conference_number,
Tox_Conference_Peer_Number peer_number)
{
if (group_av == nullptr || peer_av == nullptr) {
@@ -402,8 +402,8 @@ static int decode_audio_packet(Group_AV *group_av, Group_Peer_AV *peer_av, Tox_C
return -1;
}
static int handle_group_audio_packet(void *object, Tox_Conference_Number conference_number, Tox_Conference_Peer_Number peer_number, void *peer_object,
const uint8_t *packet, uint16_t length)
static int handle_group_audio_packet(void *_Nonnull object, Tox_Conference_Number conference_number, Tox_Conference_Peer_Number peer_number, void *_Nonnull peer_object,
const uint8_t *_Nonnull packet, uint16_t length)
{
Group_AV *group_av = (Group_AV *)object;
Group_Peer_AV *peer_av = (Group_Peer_AV *)peer_object;
@@ -579,7 +579,7 @@ int join_av_groupchat(const Logger *log, Tox *tox, Group_Chats *g_c, Tox_Friend_
* @retval 0 on success.
* @retval -1 on failure.
*/
static int send_audio_packet(const Group_Chats *g_c, Tox_Conference_Number conference_number, const uint8_t *packet, uint16_t length)
static int send_audio_packet(const Group_Chats *_Nonnull g_c, Tox_Conference_Number conference_number, const uint8_t *_Nonnull packet, uint16_t length)
{
if (length == 0 || length > MAX_CRYPTO_DATA_SIZE - 1 - sizeof(uint16_t)) {
return -1;