The SSRC mapping strategy can change if a re-invite disengages
transcoding, therefore we always need to update the output SSRC mapping
even if the SSRC entry has already existed, to avoid stray SSRC changes.
Change-Id: Ib6f14ede1a4e615ff5eb8372cc68bf1acdd4b6c8
(cherry picked from commit dd7acd2644)
Make sure the pointers we return from our continuous memory buffer is
always 64-bit aligned as it's used not only for strings, but also for
structs/objects, and such unaligned memory access is undefined on some
archs and flagged as such by ASAN.
Change-Id: I84cf74e4e9d203fe02507aa1190ccc6554fb36e2
Avoid accessing memory via pointers that may not be aligned, which is
undefined behaviour on some archs. Use memcpy for this purpose instead.
Change-Id: Iec6c8d15fdd7ef00896e494b69412847b637b01b
Check if the uint64_t pointer is aligned before using it. If unaligned,
go byte by byte. Unaligned pointer access is undefined on some archs and
flagged as such by ASAN.
Change-Id: I3afc80a2ddbc874a62d6930971493f8d461aa452
Since dh_auto_test doesn't execute the test suites through make
directly, but instead runs `make -s -n` and then executes the output,
the integrated build tests fail since the sub-make doesn't return an
error as it should when attempting to build with the wrong .h
alternative, resulting in always the first .h alternative being used.
Fix this by using a wrapper script instead.
Also adjust some other related minor build details.
closes#1202
Change-Id: I4b6436295c6b39117bd06df53aa5afc7118ad6a1
If we receive an SDP with a DTLS fingerprint, by default we adopt the
hash function used for that fingerprint in subsequent communication with
that peer. However, if the SDP is an answer, and we previously used a
different hash function in the offer towards that peer, then a later
re-invite offer would be sent with a different fingerprint, causing an
unexpected DTLS restart. Instead, make sure we don't change fingerprints
if one was already sent.
Change-Id: I603bb86ce2d7121556c161749ed08128dd0b63b2
We simplify the function so that we do not need to meddle with pointers
and data sizes.
Change-Id: I3e653b44b28347053cc7a1053de8220c80250816
Warned-by: lgtm
While the code is not threaded, better be future-proof and use safer
APIs, which in addition has less side-effects as it does not set the
global TZ related variables.
Also check for failures.
Change-Id: I083d2b5ad6901ac1a91d42d1ab7fe3e0989b02a0
Warned-by: lgtm
The ntohs() function returns uint16_t, which will always fit within an
int (including in excess for the signed bit) on the platform we support.
Thus the check for negative values is never going to hit.
Change-Id: Ie9d5bcfe5709c50260098f91ff111755ded72921
Warned-by: lgtm
The tracker.most array is of unsigned char, so pt which gets
unconditionally assigned will always be >= 0.
Change-Id: I8adc06fc6c65aa0e33ef6614eb77c67b0dc07517
Warned-by: lgtm
Whether a bit-field is signed or unsigned is implementation specific, so
we should be explicit about this.
Change-Id: I744df3d24bc08e95fa816ba4135f19cd3a5dcb17
Warned-by: lgtm