Squashed 'external/toxcore/c-toxcore/' changes from 1701691d5..640e6cace
640e6cace fix(toxav): remove extra copy of video frame on encode Tested and works, but there might be alignment issues and other stuff. 6f7f51554 chore(toxav): use realtime deadline for vp8 encoder Technically all this does is choose a quality based on frame duration, which we always set to 1, and as such is always realtime. (In same timebase as pts, which we use as a frame counter...) 5047ae5a2 chore: make the source tarball exhibit the old behavior 14804a4b8 chore: Fix sonar-scan CI action. e2db7d946 cleanup: Exclude lan_discovery test from running on macos, instead of excluding it from the project. 3accade67 chore: Fix CI, disabling some tests that no longer run on CI. ef8d767e6 cleanup: Fix comment formatting errors. 34ec822da cleanup: Fix some clang-19 format warnings. 40b3f0b46 refactor: Use clang's nullability qualifiers instead of attributes. f81e30679 refactor: Use per-parameter nullability annotations. REVERT: 1701691d5 chore(toxav): use realtime deadline for vp8 encoder Technically all this does is choose a quality based on frame duration, which we always set to 1, and as such is always realtime. (In same timebase as pts, which we use as a frame counter...) REVERT: a87505867 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: 640e6cace81b4412c45977b94eb9c41e53c54035
This commit is contained in:
@@ -85,7 +85,7 @@ typedef struct GC_PeerAddress {
|
||||
} GC_PeerAddress;
|
||||
|
||||
typedef struct GC_Message_Array_Entry {
|
||||
uint8_t *data;
|
||||
uint8_t *_Nullable data;
|
||||
uint16_t data_length;
|
||||
uint8_t packet_type;
|
||||
uint64_t message_id;
|
||||
@@ -97,10 +97,10 @@ typedef struct GC_Connection {
|
||||
uint64_t send_message_id; /* message_id of the next message we send to peer */
|
||||
|
||||
uint16_t send_array_start; /* send_array index of oldest item */
|
||||
GC_Message_Array_Entry *send_array;
|
||||
GC_Message_Array_Entry *_Nullable send_array;
|
||||
|
||||
uint64_t received_message_id; /* message_id of peer's last message to us */
|
||||
GC_Message_Array_Entry *recv_array;
|
||||
GC_Message_Array_Entry *_Nullable recv_array;
|
||||
|
||||
uint64_t last_chunk_id; /* The message ID of the last packet fragment we received */
|
||||
|
||||
@@ -265,22 +265,22 @@ typedef struct GC_TopicInfo {
|
||||
} GC_TopicInfo;
|
||||
|
||||
typedef struct GC_Chat {
|
||||
Mono_Time *mono_time;
|
||||
const Logger *log;
|
||||
const Memory *mem;
|
||||
const Random *rng;
|
||||
Mono_Time *_Nonnull mono_time;
|
||||
const Logger *_Nonnull log;
|
||||
const Memory *_Nonnull mem;
|
||||
const Random *_Nonnull rng;
|
||||
|
||||
uint32_t connected_tcp_relays;
|
||||
Self_UDP_Status self_udp_status;
|
||||
IP_Port self_ip_port;
|
||||
|
||||
Networking_Core *net;
|
||||
TCP_Connections *tcp_conn;
|
||||
Networking_Core *_Nonnull net;
|
||||
TCP_Connections *_Nullable tcp_conn;
|
||||
|
||||
uint64_t last_checked_tcp_relays;
|
||||
Group_Handshake_Join_Type join_type;
|
||||
|
||||
GC_Peer *group;
|
||||
GC_Peer *_Nullable group;
|
||||
Moderation moderation;
|
||||
|
||||
GC_Conn_State connection_state;
|
||||
@@ -347,60 +347,60 @@ typedef struct GC_Chat {
|
||||
typedef struct Messenger Messenger;
|
||||
#endif /* MESSENGER_DEFINED */
|
||||
|
||||
typedef void gc_message_cb(const Messenger *m, uint32_t group_number, GC_Peer_Id peer_id, unsigned int type,
|
||||
const uint8_t *message, size_t length, uint32_t message_id, void *user_data);
|
||||
typedef void gc_private_message_cb(const Messenger *m, uint32_t group_number, GC_Peer_Id peer_id, unsigned int type,
|
||||
const uint8_t *message, size_t length, uint32_t message_id, void *user_data);
|
||||
typedef void gc_custom_packet_cb(const Messenger *m, uint32_t group_number, GC_Peer_Id peer_id, const uint8_t *data,
|
||||
size_t length, void *user_data);
|
||||
typedef void gc_custom_private_packet_cb(const Messenger *m, uint32_t group_number, GC_Peer_Id peer_id,
|
||||
const uint8_t *data, size_t length, void *user_data);
|
||||
typedef void gc_moderation_cb(const Messenger *m, uint32_t group_number, GC_Peer_Id source_peer_number,
|
||||
GC_Peer_Id target_peer_number, unsigned int mod_type, void *user_data);
|
||||
typedef void gc_nick_change_cb(const Messenger *m, uint32_t group_number, GC_Peer_Id peer_id, const uint8_t *name,
|
||||
size_t length, void *user_data);
|
||||
typedef void gc_status_change_cb(const Messenger *m, uint32_t group_number, GC_Peer_Id peer_id, unsigned int status,
|
||||
void *user_data);
|
||||
typedef void gc_topic_change_cb(const Messenger *m, uint32_t group_number, GC_Peer_Id peer_id, const uint8_t *topic,
|
||||
size_t length, void *user_data);
|
||||
typedef void gc_topic_lock_cb(const Messenger *m, uint32_t group_number, unsigned int topic_lock, void *user_data);
|
||||
typedef void gc_voice_state_cb(const Messenger *m, uint32_t group_number, unsigned int voice_state, void *user_data);
|
||||
typedef void gc_peer_limit_cb(const Messenger *m, uint32_t group_number, uint32_t peer_limit, void *user_data);
|
||||
typedef void gc_privacy_state_cb(const Messenger *m, uint32_t group_number, unsigned int privacy_state, void *user_data);
|
||||
typedef void gc_password_cb(const Messenger *m, uint32_t group_number, const uint8_t *password, size_t length,
|
||||
void *user_data);
|
||||
typedef void gc_peer_join_cb(const Messenger *m, uint32_t group_number, GC_Peer_Id peer_id, void *user_data);
|
||||
typedef void gc_peer_exit_cb(const Messenger *m, uint32_t group_number, GC_Peer_Id peer_id, unsigned int exit_type,
|
||||
const uint8_t *name, size_t name_length, const uint8_t *part_message, size_t length,
|
||||
void *user_data);
|
||||
typedef void gc_self_join_cb(const Messenger *m, uint32_t group_number, void *user_data);
|
||||
typedef void gc_rejected_cb(const Messenger *m, uint32_t group_number, unsigned int fail_type, void *user_data);
|
||||
typedef void gc_message_cb(const Messenger *_Nonnull m, uint32_t group_number, GC_Peer_Id peer_id, unsigned int type,
|
||||
const uint8_t *_Nonnull message, size_t length, uint32_t message_id, void *_Nullable user_data);
|
||||
typedef void gc_private_message_cb(const Messenger *_Nonnull m, uint32_t group_number, GC_Peer_Id peer_id, unsigned int type,
|
||||
const uint8_t *_Nonnull message, size_t length, uint32_t message_id, void *_Nullable user_data);
|
||||
typedef void gc_custom_packet_cb(const Messenger *_Nonnull m, uint32_t group_number, GC_Peer_Id peer_id, const uint8_t *_Nonnull data,
|
||||
size_t length, void *_Nullable user_data);
|
||||
typedef void gc_custom_private_packet_cb(const Messenger *_Nonnull m, uint32_t group_number, GC_Peer_Id peer_id,
|
||||
const uint8_t *_Nonnull data, size_t length, void *_Nullable user_data);
|
||||
typedef void gc_moderation_cb(const Messenger *_Nonnull m, uint32_t group_number, GC_Peer_Id source_peer_number,
|
||||
GC_Peer_Id target_peer_number, unsigned int mod_type, void *_Nullable user_data);
|
||||
typedef void gc_nick_change_cb(const Messenger *_Nonnull m, uint32_t group_number, GC_Peer_Id peer_id, const uint8_t *_Nonnull name,
|
||||
size_t length, void *_Nullable user_data);
|
||||
typedef void gc_status_change_cb(const Messenger *_Nonnull m, uint32_t group_number, GC_Peer_Id peer_id, unsigned int status,
|
||||
void *_Nullable user_data);
|
||||
typedef void gc_topic_change_cb(const Messenger *_Nonnull m, uint32_t group_number, GC_Peer_Id peer_id, const uint8_t *_Nullable topic,
|
||||
size_t length, void *_Nullable user_data);
|
||||
typedef void gc_topic_lock_cb(const Messenger *_Nonnull m, uint32_t group_number, unsigned int topic_lock, void *_Nullable user_data);
|
||||
typedef void gc_voice_state_cb(const Messenger *_Nonnull m, uint32_t group_number, unsigned int voice_state, void *_Nullable user_data);
|
||||
typedef void gc_peer_limit_cb(const Messenger *_Nonnull m, uint32_t group_number, uint32_t peer_limit, void *_Nullable user_data);
|
||||
typedef void gc_privacy_state_cb(const Messenger *_Nonnull m, uint32_t group_number, unsigned int privacy_state, void *_Nullable user_data);
|
||||
typedef void gc_password_cb(const Messenger *_Nonnull m, uint32_t group_number, const uint8_t *_Nullable password, size_t length,
|
||||
void *_Nullable user_data);
|
||||
typedef void gc_peer_join_cb(const Messenger *_Nonnull m, uint32_t group_number, GC_Peer_Id peer_id, void *_Nullable user_data);
|
||||
typedef void gc_peer_exit_cb(const Messenger *_Nonnull m, uint32_t group_number, GC_Peer_Id peer_id, unsigned int exit_type,
|
||||
const uint8_t *_Nullable name, size_t name_length, const uint8_t *_Nullable part_message, size_t length,
|
||||
void *_Nullable user_data);
|
||||
typedef void gc_self_join_cb(const Messenger *_Nonnull m, uint32_t group_number, void *_Nullable user_data);
|
||||
typedef void gc_rejected_cb(const Messenger *_Nonnull m, uint32_t group_number, unsigned int fail_type, void *_Nullable user_data);
|
||||
|
||||
typedef struct GC_Session {
|
||||
Messenger *messenger;
|
||||
GC_Chat *chats;
|
||||
Net_Profile *tcp_np;
|
||||
struct GC_Announces_List *announces_list;
|
||||
Messenger *_Nonnull messenger;
|
||||
GC_Chat *_Nullable chats;
|
||||
Net_Profile *_Nullable tcp_np;
|
||||
struct GC_Announces_List *_Nullable announces_list;
|
||||
|
||||
uint32_t chats_index;
|
||||
|
||||
gc_message_cb *message;
|
||||
gc_private_message_cb *private_message;
|
||||
gc_custom_packet_cb *custom_packet;
|
||||
gc_custom_private_packet_cb *custom_private_packet;
|
||||
gc_moderation_cb *moderation;
|
||||
gc_nick_change_cb *nick_change;
|
||||
gc_status_change_cb *status_change;
|
||||
gc_topic_change_cb *topic_change;
|
||||
gc_topic_lock_cb *topic_lock;
|
||||
gc_voice_state_cb *voice_state;
|
||||
gc_peer_limit_cb *peer_limit;
|
||||
gc_privacy_state_cb *privacy_state;
|
||||
gc_password_cb *password;
|
||||
gc_peer_join_cb *peer_join;
|
||||
gc_peer_exit_cb *peer_exit;
|
||||
gc_self_join_cb *self_join;
|
||||
gc_rejected_cb *rejected;
|
||||
gc_message_cb *_Nullable message;
|
||||
gc_private_message_cb *_Nullable private_message;
|
||||
gc_custom_packet_cb *_Nullable custom_packet;
|
||||
gc_custom_private_packet_cb *_Nullable custom_private_packet;
|
||||
gc_moderation_cb *_Nullable moderation;
|
||||
gc_nick_change_cb *_Nullable nick_change;
|
||||
gc_status_change_cb *_Nullable status_change;
|
||||
gc_topic_change_cb *_Nullable topic_change;
|
||||
gc_topic_lock_cb *_Nullable topic_lock;
|
||||
gc_voice_state_cb *_Nullable voice_state;
|
||||
gc_peer_limit_cb *_Nullable peer_limit;
|
||||
gc_privacy_state_cb *_Nullable privacy_state;
|
||||
gc_password_cb *_Nullable password;
|
||||
gc_peer_join_cb *_Nullable peer_join;
|
||||
gc_peer_exit_cb *_Nullable peer_exit;
|
||||
gc_self_join_cb *_Nullable self_join;
|
||||
gc_rejected_cb *_Nullable rejected;
|
||||
} GC_Session;
|
||||
|
||||
/** @brief Adds a new peer to group_number's peer list.
|
||||
@@ -409,16 +409,13 @@ typedef struct GC_Session {
|
||||
* Return -1 on failure.
|
||||
* Return -2 if a peer with public_key is already in our peerlist.
|
||||
*/
|
||||
non_null(1, 3) nullable(2)
|
||||
int peer_add(GC_Chat *chat, const IP_Port *ipp, const uint8_t *public_key);
|
||||
|
||||
int peer_add(GC_Chat *_Nonnull chat, const IP_Port *_Nullable ipp, const uint8_t *_Nonnull public_key);
|
||||
/** @brief Unpacks saved peers from `data` of size `length` into `chat`.
|
||||
*
|
||||
* Returns the number of unpacked peers on success.
|
||||
* Returns -1 on failure.
|
||||
*/
|
||||
non_null()
|
||||
int unpack_gc_saved_peers(GC_Chat *chat, const uint8_t *data, uint16_t length);
|
||||
int unpack_gc_saved_peers(GC_Chat *_Nonnull chat, const uint8_t *_Nonnull data, uint16_t length);
|
||||
|
||||
/** @brief Packs all valid entries from saved peerlist into `data`.
|
||||
*
|
||||
@@ -428,7 +425,5 @@ int unpack_gc_saved_peers(GC_Chat *chat, const uint8_t *data, uint16_t length);
|
||||
* Return the number of packed saved peers on success.
|
||||
* Return -1 if buffer is too small.
|
||||
*/
|
||||
non_null(1, 2) nullable(4)
|
||||
int pack_gc_saved_peers(const GC_Chat *chat, uint8_t *data, uint16_t length, uint16_t *processed);
|
||||
|
||||
int pack_gc_saved_peers(const GC_Chat *_Nonnull chat, uint8_t *_Nonnull data, uint16_t length, uint16_t *_Nullable processed);
|
||||
#endif /* C_TOXCORE_TOXCORE_GROUP_COMMON_H */
|
||||
|
Reference in New Issue
Block a user