if the RTMP packet received is not complete, the dechunker
will decode the RTMP header and then return (wait for more data).
currently it erroneously also updates the timestamp from the delta,
even if the packet is incomplete. this means that the timestamp
will be updated twice, which is not correct.
a suggested fix is to move the timestamp calculation to after the
complete packet has been read.
When a jitter buffer is flushed also the statistic data should be cleared. That
means set back to zero. This fixes ugly warnings like
"jbuf: get: seq=32373 too late"
when the stream is resumed.
After calling tcp_connect(), the address returned by
tcp_conn_local_get() is 0.0.0.0 on some platforms (Windows).
The local address of the TCP-connection is not available
until the TCP connection is fully established, so fetch the
address again in the established handler.
Reference: https://github.com/alfredh/baresip/issues/431
* aes: add support for GCM Galois Counter Mode (AEAD)
* add tag functions
* variable length IV
* set crypt direction
* remove usage of old AES api
* aes: set IV using EVP_CipherInit_ex
the use case for these functions is secure code like SRTP and TLS.
memcmp() should not be used when comparing secret data
such as shared keys, because the content may affect the timing.
instead the compare function should always take the same
to execute, independently of the content.
when compiling with mingw32 and running in wine emulator,
I get this error when enumerating network interfaces:
wif: if_list: GetAdaptersAddresses ret=111
use a large buffer for IP_ADAPTER_ADDRESSES fixes the error
* ice: Added functions to get selected candidates.
Also added a function to get the type of a candidate. This can be used when
sending data to handle relay candidates, where data must be sent through the
TURN client.
* Forward-declare "ice_cand" before it is used.