When we receive an incoming SDES parameter, we must match them against the
previously sent outgoing SDES parameters, choose the one that matches
what we just received and eliminate all others. This is a no-op if none
were sent previously (original offer).
Issue only appears in a re-invite when the first offered crypto suite is
accepted.
fixes#631
Change-Id: I4991d0aaf0b29c1ba66045ed0e5281fc18c8af2e
EPOLL_CTL_MOD is used to monitor an fd's writeable status when write was
blocked, but due to a race condition it's possible that the same fd gets
closed by another thread at the same time, causing the EPOLL_CTL_MOD to
fail. As this is now expected, handle it appropriately.
fixes#684
Change-Id: I1ddf16fdbf0fe3e98b4d908544735b823c4cf539
(cherry picked from commit 5c556ef4cf)
One thread may close an fd while another thread is processing the result
events that can include a POLLOUT for the same fd. That same fd might
then get re-opened as another type of object and get added to the poller
again. When the POLLOUT event then gets processed, no `writeable`
function would be present.
This is not a clean fix for the underlying race condition as stray
events might still get processed, but seeing extra stray events should
not be a problem.
Change-Id: I2fa2277bb0ddf512f53917297bd4220fe794dd0e
(cherry picked from commit b778b712fc)
closes#658
Squashed commit (plus docs and minor modification) of:
commit 4187cd3b2d
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Mon Nov 19 18:13:43 2018 +0000
removed unnecessary pad_crypto_def variable
commit 5c7b7c0ced
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Mon Nov 19 17:39:18 2018 +0000
add `pad-crypto` flag to not truncate trailing '==' after base64 encode
commit 98bea79902
Author: Muhammad Zaka <muhammad.zaka@synety.com>
Date: Fri Nov 16 10:59:47 2018 +0000
crypto containing padding should be sent within sdp for pass through
Change-Id: I1f7502f34e9492100e5c3a5a7345319ed996c22c
(cherry picked from commit fb1083f8e3)
We should offer all crypto suites that we support. If passing through
SDES, we should amend the list of crypto suites with all additional ones
that we support that weren't included in the received offer.
closes#577
Change-Id: I9b6c16e8eadecf01cdbc8043bd8361e0f683e456
Instead of just remembering the last seen RTP payload type, this adds a
tracker that keeps track of the last 32 seen payload types and keep the
list in order of how often each type was seen.
Change-Id: I062a43b7bfc9413b755dca548d72953ff8245477
Adding a fixed length to the size of the buffer requested from the
packetizer was wrong, as this is not just the length of the working
buffer but also the size of the buffer to be returned for sample stream
(PCM) codecs. Instead, use the codec definition's bit per sample spec
to make AMR provide a larger buffer than the bare frame.
Change-Id: Ibff59b21d491e3327cc9e907e6515379a8ca9188