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
Codecs that were implicitly accepted for transcoding had no option to
set their parameters (such as bitrate) for encoding. The codec-set
option adds this.
fixes#681
Change-Id: Ib238eb73a507af168c366579abc80da07250fe88
Bitrates specified in codec-transcode-... options were applied to the
decoder created during the offer. The matching encoder only gets created
during the answer phase, at which point the specified bitrate must be
copied from the decoder.
fixes#681
Change-Id: Idc6a16a4493908d78bb0b48ae590aba046152af0
To avoid repeated strcmp()s and make use of switch()'s optimised binary
lookup, we employ a second build step that preprocesses certain .c files
and uses gperf to substitute pseudomacros with their respective constant
hash value.
Change-Id: Id89c4728a0fc7aa911691d4dd1ba8e7b3916a983
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
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
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