Richard Fuchs
76dd9ab56d
MT#55283 fix off by one bug
...
Closes #1937
Change-Id: I9362e05165648820506eb2c95267e9a245fb32d9
2 years ago
Richard Fuchs
7893b1a830
MT#55283 extend G729a compatibility
...
Change-Id: I6079d06ada8acec1771f27677f3043d34e4c9f20
2 years ago
Richard Fuchs
8353a298f9
MT#55283 check codec-chain load status
...
Change-Id: I176ed2b35de41cc6a8ae90d80a781f385d6d8371
2 years ago
Richard Fuchs
cf22d82932
MT#55283 eliminate input/output combination SSRC
...
Change-Id: I94636b7f6fb6fb31cd3bf332fffe0203e17f6c16
2 years ago
Richard Fuchs
636c9f193f
MT#55283 add L16 and G726 support
...
Change-Id: Id12bd895cc8ce99d6988360bedaff75fb0b5a362
2 years ago
Richard Fuchs
58e45c26e0
MT#55283 scale mode_change_interval
...
Change-Id: I62c1b8c27e9453a1bf62a4d8a9ba7169fe663712
2 years ago
Richard Fuchs
03d961bfd0
MT#55283 scale cmr_interval
...
Change-Id: I0fb2e9c521d6185883b1843980ae5695ece6c992
2 years ago
Richard Fuchs
50b44b4ab3
MT#55283 convert streambuf to int64_t
...
Change-Id: I856072b6e82c854b676dd43ae2c7120d68caad2c
2 years ago
Richard Fuchs
71f2234902
MT#55283 obsolete timeval_diff
...
Change-Id: I83ea176acd77cdd9c371e4c8cde324bdfc3c2486
2 years ago
Richard Fuchs
283abdf465
MT#55283 convert mix_buffer to int64_t
...
Change-Id: I13343b4cce82440e9a54fd9c26731f27abe57ba5
2 years ago
Richard Fuchs
358723e1c2
MT#55283 remove some unused functions
...
Change-Id: I8989e7c4191c2c670f65f39a44479e1ed394893a
2 years ago
Richard Fuchs
2a6853c219
MT#55283 obsolete timeval_cmp
...
Change-Id: I824ea19696e690afdbb21346f75ca16a6410b56b
2 years ago
Richard Fuchs
9018099467
MT#55283 convert timeval_cmp to int64_t
...
Change-Id: I99a2029f81c3a2efa626ac4b752cddc06d77fe3b
2 years ago
Richard Fuchs
8d050d5fc9
MT#55283 convert codeclib to int64_t
...
Change-Id: Ic1e36ce97561addbf3a869e39991c20d1e25adf1
2 years ago
Richard Fuchs
a4bd720105
MT#55283 convert time_t to int64_t
...
Change-Id: I9664249782355f7363a46bafcca6504415585875
2 years ago
Richard Fuchs
165c42fb8e
MT#55283 convert calls to int64_t
...
Change-Id: I7c9a2229ba3eea418e009bb04def336476d2ec25
2 years ago
Richard Fuchs
20ffa4f780
MT#55283 convert timerthread to int64_t
...
Change-Id: Ia7bdb7538428edef1ff83d7bd8f6116d5e618510
2 years ago
Richard Fuchs
f34786dade
MT#55283 convert media_packet to int64_t
...
Change-Id: I4b1da113cf01d34473027987d4ee60215655fdec
2 years ago
Richard Fuchs
c70510303a
MT#55283 convert rtpe_now to int64_t
...
First step in converting (almost) all timeval uses to int64_t
Change-Id: If20fd749c61c278273c535b68287df7e6f042808
2 years ago
Richard Fuchs
d75e44829d
MT#55283 replace UINT64F with PRIu64
...
Change-Id: I604226d2515dae6b7a348426b5e997dafc840042
2 years ago
Richard Fuchs
238dc9d5be
MT#55283 integrate ssrc_hash into upper objects
...
Change-Id: Ib8f78ef6bc3028fc342fe07253ebe628af322e55
2 years ago
Richard Fuchs
75aa3038db
MT#55283 convert ssrc_hash to g_direct
...
Change-Id: I5cd5a308a8c5f6fefed94e4f594eee3a31b0f6fd
2 years ago
Richard Fuchs
859ac06626
MT#55283 use non-glib atomic macros in more places
...
Change-Id: Ia1e92f1d665a1773d25160a1ed4e4e93ae7b8ec2
2 years ago
Richard Fuchs
1779beeea0
MT#55283 fix atomic_compare_exchange macro
...
Change-Id: I25900efc7cef0f8b699ab9a1c17224c950d15d38
2 years ago
Richard Fuchs
0623b6b9de
MT#61625 tie codec-chain into transcode-config
...
Change-Id: Ida6e51b8b4ef3cefe738ccd1678ec86763e93711
2 years ago
Richard Fuchs
0b654d9854
MT#55283 add rtpe_g_tree_first shortcut
...
Change-Id: I71ab7965c9edf988dc501673cdb714a7bb8b5725
2 years ago
Richard Fuchs
75884b8d58
MT#55283 add dedicated g_tree_first wrapper
...
Change-Id: I4f7a366d37ab2c67d57f4217133725917b2e726b
2 years ago
Richard Fuchs
5460ca1f90
MT#55283 properly namespace g_tree helpers
...
Change-Id: Ie3097da52012a91b1e5d9d5c7dabe901ff2d9d72
2 years ago
Richard Fuchs
198a6053bf
MT#55283 support reworked framework
...
Change-Id: I947996343b09f38d1e14eee1d215a83e764f43cf
2 years ago
Richard Fuchs
4d8156bf91
MT#55283 remove remnants of g_slice
...
The GLib slice allocator has been obsoleted. Having a mixture of two
allocators can lead to hidden issues on systems that use different
implementations. Take the leap and replace everything with g_new/g_free.
Change-Id: I025c8383ef47b2c2472573360407fd6a6ca339b3
2 years ago
Richard Fuchs
b742dbc460
MT#55283 protect against duplicate a=mid
...
Media IDs are supposed to be unique. Non-RFC OSRTP may however lead to
duplicated media sections with the same media ID. Use a hash table to
track which media IDs have already been seen, and ignore any duplicates.
Change-Id: I9de5fdf3165fc4326862af708aec3d4f6736cb12
2 years ago
Richard Fuchs
2c636fd1c1
MT#55283 add lib/ Makefile
...
There is a generated file left behind (codeclib.strhash.c) that needs to
be cleaned up by `make clean`
Ref: https://bugs.debian.org/1101804
Change-Id: I22eef1124a84107478ef6058abb127eb65fc9aa5
2 years ago
Richard Fuchs
094c3d93d2
MT#55283 report correct error
...
Change-Id: I102a52434581569c04f255a3fd09a39599e3fff2
2 years ago
Richard Fuchs
8e1bbc24df
MT#55283 allow stack storage for dummy uring send
...
Change-Id: Iae5067f7e8bd492f10db946160d2c4af54c2fc2b
2 years ago
Richard Fuchs
dd91f0ec11
MT#55283 centralise uring methods
...
Introduce struct to keep uring-specific thread-local method pointers
Change-Id: I7b0d1fd82cf5f3d114e8072553cb74054ac7e133
2 years ago
Richard Fuchs
f090376d9a
MT#55283 move defines
...
to a more appropriate place to remove an otherwise unneeded dependency
Change-Id: If82707e937a9102de1a405a25f7f3f436df878e6
2 years ago
Richard Fuchs
6c19b19069
MT#55283 type safety for uring allocs
...
Change-Id: I1f1e49b986f7a2cd83b898167e0c314b8862bb69
2 years ago
Richard Fuchs
bcbe751dec
MT#55283 make bufferpool (mostly) lock-free
...
Change-Id: I9c6803c3b01deacafc20bcca4c6ddd89fd69d3e9
2 years ago
Richard Fuchs
26072ed6a1
MT#55283 support CFLAGS in str hash helper
...
Fixes #1919
Change-Id: Ibac4475c96063b69868546e54e27f9f61b7b909b
2 years ago
Richard Fuchs
95f75d690b
MT#55283 use embedded links in bufferpool
...
Avoids repeated calls to allocator
Change-Id: I2b85fef3d0fd976bc9bf8a4b0cb9b29b62318cbf
2 years ago
Richard Fuchs
58054f2c0f
MT#55283 use typed queue for bpool shards
...
Change-Id: Iebe8286a930add93a179cbf0dabc08ea23152f37
2 years ago
Richard Fuchs
0551c2549a
MT#55283 obsolete bufferpool shard array
...
Remove the sorted pointer array and the associated lock. We can now
directly look up the shard associated with a particular memory block and
so this isn't needed any more.
Change-Id: I6b2972c3b8837cdabdf92cf957c69dc2d559a06c
2 years ago
Richard Fuchs
d43575dc06
MT#55283 look up bufferpool shard from metadata
...
Use the pointer we stored as metadata to quickly look up the respective
shard.
Change-Id: I01c39d9dbe229bb9bd98d90efb95adfe076e426d
2 years ago
Richard Fuchs
69e634f94a
MT#55283 store metadata head pointer
...
Put a pointer to the shard itself in the beginning of the buffer. This
facilitates quick lookup.
Change-Id: I0109d77e56afac3189775dd708970288f175dfe6
2 years ago
Richard Fuchs
f7fbe490b0
MT#55283 request aligned addresses from mmap
...
Or rather, request double the amount, then use the contained aligned
block.
Change-Id: Iaf1da4b3df243a1d4391fc2ff46eba1fec3d738c
2 years ago
Richard Fuchs
9bd5670f89
MT#55283 use fixed allocation size
...
Allocate all bufferpool shards of the same size, regardless of
underlying allocator. This way increase memory usage a bit, but we're
already quite heavy on that, so no big deal.
Change-Id: Icbe09cd2f9b33bc58ab1efe7de293dea00236fec
2 years ago
Richard Fuchs
1a837e6ab1
MT#55283 add `empty` pointer
...
With this we can reserve some head room to store our own metadata.
Change-Id: I525c2df7db85ce22c0a4a9810e4c75fdd7731c0c
2 years ago
Richard Fuchs
5f9e43b3e0
MT#55283 move alignment macros to header file
...
Change-Id: I266cbefe8351f77399bb6e50b2122f9a45249529
2 years ago
Richard Fuchs
1a98502a1b
MT#55283 used aligned memory for bufferpool
...
Use allocators that return memory blocks aligned to the requested size,
instead of generic malloc. This makes it easier to play tricks with the
memory blocks.
Change-Id: Iad4b1127c76e48c2e9b4ad8489118d4883a24f6a
2 years ago
Richard Fuchs
ef7aa06801
MT#55283 shorten lock duration
...
We can do the freeing safely after having removed the shard from the
list.
Change-Id: I15d7ec71b0c44b916571c420b07c715ad2feaf50
2 years ago