Richard Fuchs
76203fdce9
MT#58636 add new option 'static codecs'
Change-Id: Ife8ef86ff0c6dd8733fd063d8ce19f6baaa30e58
2 years ago
Donat Zenichev
5de30a855b
MT#58716 Move transcoding flag to media
Instead of using transcoding flag `_TRANSCODING`
on the monologue level, we have to use that on the media
level in order to properly reflect the level on which
transocding is being used, and also to be able to selectively
set this for specific media sessions.
Change-Id: I9a25dc7be24f80b2b6ada816448a67933c762d86
2 years ago
Donat Zenichev
f4c5f8f210
MT#58717 Media sinks: `call_block_silence_media()`
Sinks must be a list of medias, not monologues.
Refactor `call_block_silence_media()`.
Additionally: deprecate the `call_media_subscribed_to_monologue()`
because of no use.
Change-Id: Iafa4fc87d613948b84373985711e8cebfa48fad8
2 years ago
Richard Fuchs
949c5a9d8e
MT#55283 work around gcc <12 being stupid
gcc <12 propagates the const-ness of the given value to the newly
declared variable with __auto_type, leading to silly "can't assign to
const variable" errors. Work around this with an ugly macro.
Change-Id: Ic952c094c24bd802379fc10ad19d559613b2c1d0
2 years ago
Richard Fuchs
c9c6117c66
MT#55283 update all flags to 64 bit
Change-Id: I8635c29cab5843b5bf8092f30a093871eeb37f29
2 years ago
Richard Fuchs
f4a546a915
MT#55283 add atomic64_or/and
Change-Id: Ib6dc615d339d7cdd104297c6b0c46a00e1d680e4
2 years ago
Richard Fuchs
a951651464
MT#55283 move bit flag helpers
No change other than re-ordering, so that they can use the atomic64
primitives.
Change-Id: I4d6c38177392a6115745f77de39d63e42aa34161
2 years ago
Richard Fuchs
a50d553cdd
MT#55283 obsolete bitfield helpers
Change-Id: I04b5bf7c4fc284c0fce1697d2988d571a0d4f377
2 years ago
Richard Fuchs
e969a79428
MT#55283 check DTLS src/dst addressses
Check addresses of received DTLS packets against known ICE pairs if ICE
is in use. Ignore packets that don't correspond to known ICE pairs.
Credit to the the team at EnableSecurity.com for disclosure.
Ref: https://github.com/EnableSecurity/advisories/tree/master/ES2023-03-rtpengine-dtls-hello-race
Change-Id: I45197c50aedeb078763f2f444225ddbda78d9349
2 years ago
Richard Fuchs
ce22afab57
MT#55283 use typed GQueue for calls iterator
Change-Id: I67b2b9322ac0267932846d06e3f703cee2538e31
2 years ago
Richard Fuchs
8f98f69e98
MT#55283 use typed G* for subscriptions
Change-Id: Iea5b93568817a73a37c10af3fc296520b2133eda
2 years ago
Richard Fuchs
7b2ba5339a
MT#55283 use typed G* for call members
Change-Id: Idcd7d703952d5559d3e13bf681cf7342e6768f12
2 years ago
Richard Fuchs
46a5998fa6
MT#55283 use typed GQueue for endpoint_maps
Change-Id: Ia8dca8396dfb36bfed318fa7957cbb0f46fdcfd9
2 years ago
Richard Fuchs
656de5ba42
MT#55283 use g_auto for rtp_payload_type
Change-Id: I0875325932bb7978b46aef53dd57e8df610bbfbe
2 years ago
Richard Fuchs
c9ac6ecc73
MT#55283 convert struct rtp_payload_time to typedef
Change-Id: Idb415f448a920b73582f9d5f64cca9b53b81a8ac
2 years ago
Richard Fuchs
afbd7d4f0d
MT#55283 remove unused function
Change-Id: I909585611e44d48128ea837fd641cc7de75ac2a0
2 years ago
Richard Fuchs
38d064eab6
MT#55283 use typed GHashTable for tcp streams
Change-Id: Ia52c5895b1174a920c0ebf5c33bd9c86df7e449f
2 years ago
Richard Fuchs
d23d9f8b42
MT#55283 use typed GQueue for ports release
Change-Id: I9cdaa88386c30f00ad4d18406b041ddb5c045e68
2 years ago
Richard Fuchs
f0eba3ca13
MT#55283 use typed GQueue for kernel list
... and switch to singly linked list as that's all we need.
Change-Id: Iaf3d364ed29fc01d192548967535517c33b48972
2 years ago
Richard Fuchs
a8f9e7b722
MT#55283 use g_auto for stream_fd
Change-Id: Id534ea6f6e0e7f60950d589aabba95d42c59be7a
2 years ago
Richard Fuchs
cd4f6608cd
MT#55283 convert struct stream_fd to typedef
Change-Id: I1435a5f755cb99833535d995871f1e9050f0ec73
2 years ago
Richard Fuchs
c6b907017d
MT#55283 use g_auto for call_t
Change-Id: I8fc7e26a48346dae264e38e30b944f0d889b666e
2 years ago
Richard Fuchs
2975b2131d
MT#55283 convert struct call to typedef
Change-Id: I1f01fdf74d6d3952413ebc02dfdb9770b324481c
2 years ago
Richard Fuchs
5fec35e819
MT#55283 use typed GPtrArray for medias
Change-Id: Iadde52af7505b38691d41b9229cb85b252a51ee0
2 years ago
Richard Fuchs
610238d5e3
MT#55283 use typed GHashTable for labels
Change-Id: Id5f514045d5b5c68394f7ab39430b700570ff3b4
2 years ago
Richard Fuchs
8e0276d7ce
MT#55283 use typed GHashTable for codec_stats
Change-Id: I447ff59f947bb88d1731472b16e7ac588a21cae6
2 years ago
Richard Fuchs
9510b01a29
MT#55283 use typed GQueue for dtmf_events
Change-Id: I241190eb84420e8d84b5267d2ba47906ddbd5e6c
2 years ago
Richard Fuchs
57598e1255
MT#55283 use typed GQueue for stream/handlers
Change-Id: I874680db25f26466400f4a08641a97cb6f7be36b
2 years ago
Richard Fuchs
dd3471d919
MT#55283 use typed GQueue for codec_packet
Change-Id: Iff6c86254c54b37532c2f6cf8d71e1156bc7f4c2
2 years ago
Richard Fuchs
73f1037720
MT#55283 use typed GQueue for socket/sfd lists
Change-Id: I0d61e0c8d9ccc23b038dd560d8ff876e550d2c05
2 years ago
Richard Fuchs
3114510c12
MT#55283 specialise struct intf_list
There's two flavours of this struct being in use, even though the
structs' signatures are the same. One contains socket_t objects, the
other contains stream_fd objects. Separate them out and be explicit
about which is which.
Change-Id: I5ef1d154cc442528149f69be2e6a02625a6c650d
2 years ago
Richard Fuchs
e5ccca36fc
MT#55283 use typed GHashTable for SDP rem/subst
Change-Id: I65e66df16980a56f8265c14044dc190a13b117a1
2 years ago
Richard Fuchs
7c6f5d1dae
MT#55283 use typed GHashTables for globals calls hash
Change-Id: I9de9bc9ae8d35cd2360e58d9f4358cacc6831be1
2 years ago
Richard Fuchs
49037aee91
MT#55283 use typed G* for codec-set/except/SDES
Change-Id: Ib64e36db7ccccda83a84d36f716d13906d098946
2 years ago
Richard Fuchs
de6c06a6c0
MT#55283 use typed G* for codec handlers
Change-Id: I5d6940e4e72566d011a218b1bd7c4880329aa424
2 years ago
Richard Fuchs
e4fb02bedb
MT#55283 use typed GHashTables for codec_store
Change-Id: I746b7a39897343b9fa7a2b382ced0403601b8025
2 years ago
Richard Fuchs
9999098024
MT#55283 use typed GQueue for codec_store
Change-Id: I6942e5b8209aba99aaa1a81bfd449d0a31679595
2 years ago
Richard Fuchs
74b8a6cce4
MT#55283 use typed GQueue for attributes
Change-Id: Ie26f6050461bda8cd863d6ce0d7703952979c362
2 years ago
Richard Fuchs
ab88eff57f
MT#55283 use typed GHashTable for attr_list
Change-Id: I00b962adc468384d13120f0e36e8828fd56854c0
2 years ago
Richard Fuchs
08727c5cb4
MT#55283 use typed GHashTable for ICE
Change-Id: I6adb1dcc3efc31b612d55f59d1ba7fb865652c7b
2 years ago
Richard Fuchs
cbaa0c106a
MT#55283 use typed GQueue for ICE lists
Change-Id: Ieb4168cc7959347940831b5b83dce82ba1fe1965
2 years ago
Richard Fuchs
6685fb6efd
MT#55283 use g_auto for sdp_streams/sessions
Introduce sdp_streams_q and sdp_sessions_q as their own types (typed
GQueue)
Change-Id: Iee99a4ccd9aba57c49d449963a7cd77f8e20adcc
2 years ago
Richard Fuchs
9810c501fd
MT#55283 use str_q for parsed flags
Change-Id: I0aa11e77a7c995335d48a239515295dc4abcf5d2
2 years ago
Richard Fuchs
57a80b4513
MT#55283 use g_auto for ng_buffer
Change-Id: Ic79f4380dcb7cbf23b35ca1bfec70c1986ac4477
2 years ago
Richard Fuchs
575d86816f
MT#55283 turn ng_buffer into typedef
Change-Id: I278cb1b81d9c23074cf159901668221f52d239dd
2 years ago
Richard Fuchs
40fcf7e448
MT#55283 use g_auto for stats_metrics
Change-Id: Ica79c0dcd7254879a4a1f68d82188c7a1ee82754
2 years ago
Richard Fuchs
d4d8e0368f
MT#55283 turn stats_metric into typedef
Change-Id: I4f41315409cc34494032e4f01f821d06d4f74d7e
2 years ago
Richard Fuchs
4e7078834f
MT#55283 use typed GQueue for stream_fd
Change-Id: I75544a48c79481473effa9651f1ad2b59b234dc6
2 years ago
Richard Fuchs
c11a05f62d
MT#55283 introduce typed GHashTable primitives
Simple wrappers around glib's GHashTable functions that add type
information, instead of just using void* for everything.
Change-Id: I3e7c0f095f1f58b943ba80d1e14e763707ee1698
2 years ago
Richard Fuchs
4a1fe2b779
MT#55283 extend codec_tracker_update
Allow codec_tracker_update to reference an existing codec_store. Then
when a supplemental codec type needs to be generated, make it look up
the type in the existing codec_store and re-use the existing payload
type if present instead of creating a new one. This allows payload type
numbers to remain unchanged during a re-invite.
Change-Id: I9e5edd897515a5e3eb5033aa6bbf21c8667d6133
2 years ago