All timers have been moved to their dedicated timer threads, making this
mechanism obsolete.
The only victim is the timeout handling for TCP control streams. Since
other TCP streams aren't using timeout handling either, and the TCP
control socket is barely used by anyone, we can live with not having a
dedicated timeout for these streams for now.
Change-Id: I83d9b9a844f4f494ad37b44f5d1312f272beff3f
To be able to use this feature from controlling agents which don't
directly support the new dictionary keys, add an alternative syntax via
the `flags` list. This is in line with all other similar dictionary keys
(e.g. `codec-` etc)
Change-Id: I7210c74c9cd3b31338052efa1c3504fe775c1c46
Similar to the other list building helper functions, add one that builds
a key/value table. The benefit is that this can then be used as a
callback in a different context.
Change-Id: If639543eaa3d67153c4cc9656d715a0c0aba3887
These functions iterate over lists, building hash tables or queues
respectively. Eliminate code duplication.
Change-Id: I375a72cc6a4d30044678e6d4abab148880713fe3
The original sdp_manipulate_check's only purpose left is to check for an
attribute removal. Refactor accordingly.
Change-Id: I3be28e0a2c04461a60766afe7096ad3fb8bbe998
In order to perform a substitution we must do a lookup to the hash table
anyway. We can eliminate an extra lookup for the same key to check
whether a substitution exists by combining the two operations into one.
Change-Id: Ife8f1fbfd77ade1986a303a3a5503f4142f7de01
Operating on an empty queue is essentially a no-op, so there's no point
in doing an extra check first to see if the queue is empty. Remove this
extra check for the CMD_ADD case.
Change-Id: I3c7524cd407fb350a46bdf8d3a91014158c6bf44
Use an indexed array to generically support all possible media types
instead of hard-coding a few possible types. This makes lookup faster
and is also future-proof.
Add helper functions to allocate and lookup the appropriate object.
Change-Id: I28406b2c5a6829330f41601fa52e738d9a8ee315
Make sure we don't try to send on closed sockets or to endpoints which
haven't been initialised.
Fixes unexpected fallout from 83c7336e
Change-Id: If73d61e52edeb72257515adab7428ecef82c2797
Media types must be given explicitly anyway, so we don't need to warn
when we encounter a different one, as it's entirely expected that we
won't operate on it.
Change-Id: Ic6b808422ceb5ae857a4d0a99379a1c858bb6fd8
This HT is needed when updating UDPTL/T.38 handlers, on both sides of
the call. Make sure the HT exists.
Change-Id: Ic85684bbd2a746ff490d06008eadfae664e9f8a9
Add second callback function to be able to handle lists that not just
contain strings, but also arbitrary other elements.
Rename the old call_ng_flags_list to call_ng_flags_str_list to reflect
this.
Unused at this point.
Change-Id: I49b46acf3ba53172b68998a93523d2d7eca1bd0b
Introduce rtpe_has_cpu_flag() and associated enum to test for specific
CPU flags. Use singleton approach to do the CPUID only once.
Convert simd_float2int16_array() to float2int16_array() as an ifunc. The
resolver function uses rtpe_has_cpu_flag() to determine which
implementation to use.
If no SIMD implementation is available, use the linked evs_syn_output()
from the shared object as before, with an intermediate wrapper function,
which is needed as the dlopen() happens only after the
float2int16_array() is resolved.
Change-Id: I34fa03433ba5d6fa7d6d4f290455015db29fdd74
We don't have functioning thread cancellation under ASAN. Make sure our
timer threads don't sleep too long so that the tests don't time out.
Change-Id: Iced6396fc500942ae64dfe8d8a5fb81c6a5e9619
When we're duplicating the packet contents, we must also update the RTP
header pointer accordingly.
Fixup for fa819e3a73
Change-Id: I66117b2ad15a9adfaabaa1dbc67179bb1817f5e9
These are part of the extended tests which are normally disabled. Some
change in libopus results in different encodings in these cases, making
these tests fail with newer libopus versions. Accept an alternative test
result.
Change-Id: I846830a47651bf7a7f83fa0bb1f1220db77db71e
There are no bash features in these scripts, and some distributions
don't install bash by default.
closes#1685
Change-Id: Ic9cb92ac5975f951f843cbeb3c50293f13f72efc