That gives us the benefit of not needing the manual cleanup.
Change-Id: Ia5681d0bcb60c887a4174adddd5076eb324105bf
(cherry picked from commit 7cf0b86240)
Fixes regression from Ib4285e7aae
RTCP multiplexing requires the RTCP sender to maybe lock the same output
stream, maybe lock some other one. Allow for both.
Change-Id: I6fcef32e656f8f0de46ad777f11a19c259ce35c7
(cherry picked from commit cec0afa25e)
With selected_sfd being protected by in_lock, we pretty much have to
hold at least in_lock everywhere, and end up requiring both locks in
many places. The distinction has become pointless.
Change-Id: Ic0ad976c2d68d9639b9434da7f0e6e9c0d84c185
(cherry picked from commit e03f814855)
PTs that were remembered from a previous handshake to save codec options
must be flagged as such so that they're not considered as having been
present in the current offer, so that they can be flagged as transcoding
PTs.
closes#1989
Change-Id: I19c2aff7e83ed338a81be99544645821165304cd
(cherry picked from commit f2a9111fb6)
Supports obscure situations where the old 32-bit timestamp is returned
Change-Id: I8423cd04baa9fd49e254d88d17e3e609ee5a20bb
(cherry picked from commit c0b245b979)
Reverses the side effect of I225b43dff
Restores consistency and fixes tests and very slow systems
Change-Id: Ib4285e7aae95cd58eccd1d3c4f84e5786b4b0810
(cherry picked from commit ffacde5748)
Protect selected_sfd with in_lock.
Protect RTCP sending with in_lock and out_lock as appropriate.
Has the odd side effect of RTCP reports expected in tests to be sent one
packet later than before.
Closes#1966
Probably fixes#1927
Change-Id: I225b43dff8e8fbb938d3be6aad50249997615d77
(cherry picked from commit ffc539c0d8)
Using `l->next` as a test for whether only one element is left in the
list is not reliable. Use the actual list length instead.
Update one affected test.
Closes#1961
Change-Id: I5773715700220cd762e61090bac941ddd33afd9b
(cherry picked from commit 02897ccb46)
SDP attributes have been moved to the call's memory arena in 5115fe000.
Make sure the redis restore code uses the same.
Remove some redundant null checks as well.
Closes#1959
Change-Id: I2f37869f5f2c95999d028c811c6a0eb10215f576
(cherry picked from commit a7a43c9b75)
RFC says that annex B is the default in the absence of the annexb=no
format string. Consider the alias "G729a" as annex A.
Closes#1951
Change-Id: I9a8483ee5520bf4688601123f1ebec4f1f480642
Multiple writers may operate on a single WS connection simultaneously.
Make sure they don't get in each other's way while constructing their
messages/responses by holding the lock from the beginning of the
response until the point when it's fully ready. This fixes a problem of
parts of multiple messages getting mixed up with each other.
Change-Id: If84224fc06b423cd65c12981a5b09ee99b121df2
Looks like partial writes are handled automatically internally, but add
a request for a "writeable" callback anyway so we know when we can write
more.
Closes#1943
Change-Id: I86a8e1924febc0524b90dc6559753e12e0de9dfb
this fixes an edge case where `DTMF-security=silence`, `block-media`
is enabled and the endpoint sends silence packets in between each RTP
event packet of a single DTMF hit. When that happens, the DTMF doesn't
get processed as `packet_sequencer_next_packet` returns NULL, and the
while loop is broken due to the ts_diff being 0
By checking if media is currently blocked and that the current packet
is a supplemental DTMF, we can force the packet to be processed so the
dropped packet is considered lost and we don't lose the DTMF event
Change-Id: I78bc8e273e872b3ab88f7a84e26a79fad1793476
A simple mechanism to track whether a given media endpoint has been
advertised to the public. If it hasn't, then any media received on it is
considered suspicious, and source addresses are ignored for learning
purposes.
Change-Id: I76a08e3f442f263dad192ff496a5d734a9349d26
The internally used VALID flag doesn't reflect the "valid" state from
the RFC, possibly leading to legitimate packets (DTLS etc) to be
ignored. Introduce a new flag to track which ICE pairs have been
authenticated through requests or responses.
Change-Id: I11b8e2bb6a7638ab9405304c6f45c29b20d3739c
EXTRA_CFLAGS is deprecated and stopped working in 6.15(ish)
Ref: https://bugs.debian.org/1106709
Ref: e966ad0edd
Change-Id: Iba835c7dca89106ff2ca7ffba8a7de947c9a4ff8