Richard Fuchs
cf22d82932
MT#55283 eliminate input/output combination SSRC
...
Change-Id: I94636b7f6fb6fb31cd3bf332fffe0203e17f6c16
11 months ago
Richard Fuchs
636c9f193f
MT#55283 add L16 and G726 support
...
Change-Id: Id12bd895cc8ce99d6988360bedaff75fb0b5a362
11 months ago
Richard Fuchs
58e45c26e0
MT#55283 scale mode_change_interval
...
Change-Id: I62c1b8c27e9453a1bf62a4d8a9ba7169fe663712
11 months ago
Richard Fuchs
03d961bfd0
MT#55283 scale cmr_interval
...
Change-Id: I0fb2e9c521d6185883b1843980ae5695ece6c992
11 months ago
Richard Fuchs
50b44b4ab3
MT#55283 convert streambuf to int64_t
...
Change-Id: I856072b6e82c854b676dd43ae2c7120d68caad2c
11 months ago
Richard Fuchs
71f2234902
MT#55283 obsolete timeval_diff
...
Change-Id: I83ea176acd77cdd9c371e4c8cde324bdfc3c2486
11 months ago
Richard Fuchs
283abdf465
MT#55283 convert mix_buffer to int64_t
...
Change-Id: I13343b4cce82440e9a54fd9c26731f27abe57ba5
11 months ago
Richard Fuchs
358723e1c2
MT#55283 remove some unused functions
...
Change-Id: I8989e7c4191c2c670f65f39a44479e1ed394893a
11 months ago
Richard Fuchs
2a6853c219
MT#55283 obsolete timeval_cmp
...
Change-Id: I824ea19696e690afdbb21346f75ca16a6410b56b
11 months ago
Richard Fuchs
9018099467
MT#55283 convert timeval_cmp to int64_t
...
Change-Id: I99a2029f81c3a2efa626ac4b752cddc06d77fe3b
11 months ago
Richard Fuchs
8d050d5fc9
MT#55283 convert codeclib to int64_t
...
Change-Id: Ic1e36ce97561addbf3a869e39991c20d1e25adf1
11 months ago
Richard Fuchs
a4bd720105
MT#55283 convert time_t to int64_t
...
Change-Id: I9664249782355f7363a46bafcca6504415585875
11 months ago
Richard Fuchs
165c42fb8e
MT#55283 convert calls to int64_t
...
Change-Id: I7c9a2229ba3eea418e009bb04def336476d2ec25
11 months ago
Richard Fuchs
20ffa4f780
MT#55283 convert timerthread to int64_t
...
Change-Id: Ia7bdb7538428edef1ff83d7bd8f6116d5e618510
11 months ago
Richard Fuchs
f34786dade
MT#55283 convert media_packet to int64_t
...
Change-Id: I4b1da113cf01d34473027987d4ee60215655fdec
11 months 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
11 months ago
Richard Fuchs
d75e44829d
MT#55283 replace UINT64F with PRIu64
...
Change-Id: I604226d2515dae6b7a348426b5e997dafc840042
11 months ago
Richard Fuchs
238dc9d5be
MT#55283 integrate ssrc_hash into upper objects
...
Change-Id: Ib8f78ef6bc3028fc342fe07253ebe628af322e55
11 months ago
Richard Fuchs
75aa3038db
MT#55283 convert ssrc_hash to g_direct
...
Change-Id: I5cd5a308a8c5f6fefed94e4f594eee3a31b0f6fd
11 months ago
Richard Fuchs
859ac06626
MT#55283 use non-glib atomic macros in more places
...
Change-Id: Ia1e92f1d665a1773d25160a1ed4e4e93ae7b8ec2
11 months ago
Richard Fuchs
1779beeea0
MT#55283 fix atomic_compare_exchange macro
...
Change-Id: I25900efc7cef0f8b699ab9a1c17224c950d15d38
11 months ago
Richard Fuchs
0623b6b9de
MT#61625 tie codec-chain into transcode-config
...
Change-Id: Ida6e51b8b4ef3cefe738ccd1678ec86763e93711
11 months ago
Richard Fuchs
0b654d9854
MT#55283 add rtpe_g_tree_first shortcut
...
Change-Id: I71ab7965c9edf988dc501673cdb714a7bb8b5725
11 months ago
Richard Fuchs
75884b8d58
MT#55283 add dedicated g_tree_first wrapper
...
Change-Id: I4f7a366d37ab2c67d57f4217133725917b2e726b
11 months ago
Richard Fuchs
5460ca1f90
MT#55283 properly namespace g_tree helpers
...
Change-Id: Ie3097da52012a91b1e5d9d5c7dabe901ff2d9d72
11 months ago
Richard Fuchs
198a6053bf
MT#55283 support reworked framework
...
Change-Id: I947996343b09f38d1e14eee1d215a83e764f43cf
11 months 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
11 months 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
11 months 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
11 months ago
Richard Fuchs
094c3d93d2
MT#55283 report correct error
...
Change-Id: I102a52434581569c04f255a3fd09a39599e3fff2
11 months ago
Richard Fuchs
8e1bbc24df
MT#55283 allow stack storage for dummy uring send
...
Change-Id: Iae5067f7e8bd492f10db946160d2c4af54c2fc2b
11 months ago
Richard Fuchs
dd91f0ec11
MT#55283 centralise uring methods
...
Introduce struct to keep uring-specific thread-local method pointers
Change-Id: I7b0d1fd82cf5f3d114e8072553cb74054ac7e133
11 months ago
Richard Fuchs
f090376d9a
MT#55283 move defines
...
to a more appropriate place to remove an otherwise unneeded dependency
Change-Id: If82707e937a9102de1a405a25f7f3f436df878e6
11 months ago
Richard Fuchs
6c19b19069
MT#55283 type safety for uring allocs
...
Change-Id: I1f1e49b986f7a2cd83b898167e0c314b8862bb69
11 months ago
Richard Fuchs
bcbe751dec
MT#55283 make bufferpool (mostly) lock-free
...
Change-Id: I9c6803c3b01deacafc20bcca4c6ddd89fd69d3e9
11 months ago
Richard Fuchs
26072ed6a1
MT#55283 support CFLAGS in str hash helper
...
Fixes #1919
Change-Id: Ibac4475c96063b69868546e54e27f9f61b7b909b
11 months ago
Richard Fuchs
95f75d690b
MT#55283 use embedded links in bufferpool
...
Avoids repeated calls to allocator
Change-Id: I2b85fef3d0fd976bc9bf8a4b0cb9b29b62318cbf
12 months ago
Richard Fuchs
58054f2c0f
MT#55283 use typed queue for bpool shards
...
Change-Id: Iebe8286a930add93a179cbf0dabc08ea23152f37
12 months 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
12 months 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
12 months 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
12 months 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
12 months 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
12 months 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
12 months ago
Richard Fuchs
5f9e43b3e0
MT#55283 move alignment macros to header file
...
Change-Id: I266cbefe8351f77399bb6e50b2122f9a45249529
12 months 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
12 months 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
12 months ago
Richard Fuchs
162e982088
MT#55283 fix typo
...
Technically inconsequential because both functions call the same
underlying pthread_rwlock_unlock
Change-Id: I6fddc55f70772592d17f496e5c16edf6ba7a88e5
12 months ago
Richard Fuchs
6b5fac9dc7
MT#61625 add "transcode-config"
...
Adds a new config section that allows adjusting behaviour for certain
transcoding scenarios. This only adds the initial support for the config
option.
Change-Id: Ia3d43061adc540fab054e5c99ab804dc1ff53b84
12 months ago
Richard Fuchs
605b497108
MT#55283 unconditionally demux RTCP
...
This seems to be an acceptable and reliable way to detect RTCP
multiplexed with RTP, even if `a=rtcp-mux` wasn't advertised in the SDP.
Take the opportunity to clean up __streams_set_sinks() a bit by giving
the variables better names.
Change-Id: I0cdc5e4a544641591fc2aabca12fb11bab3453f7
12 months ago