Currently the helper accepts 0 length, but callers actually
can try to mutate it with `- 1` what means overflowing it.
e.g. `extmap_short_is_valid_data()` has a bitwise operation
including length `(id << 4) | (ext->len - 1)`
Change-Id: I74f7fa134355059b18ba8c2b4e671c735324bdb7
(cherry picked from commit a51332f675)
(cherry picked from commit ae97b50b98)
Currently the function has two cycles (while-outer-cycle and
for-inner-cycle).
The inner one operates on the given `pp` pointer and can potentially
mutate it (the pointer isn't const), hence the outer cycle will
continue with a mutated pointer.
Instead just use a local scope pointer to manipulate linked list's
data.
P.S.: the `pp` pointer isn't a double pointer, so unlikely was
expected (even by design) to be modified (e.g. its address or what
it actually points to).
Change-Id: Ia36bcb6fb47e9e72ae25a838f8005ca99f4c591d
(cherry picked from commit a4875c336e)
(cherry picked from commit 695fdea671)
Don't test for presence of packages when not needed
Honour build profiles for dependencies and build flags
Closes#2121
Change-Id: Icad346fd1afe14e07d959c8d15778a76abc28477
(cherry picked from commit c2038e035e)
(cherry picked from commit 54af5e3221)
There seems to be a race condition with stream_fds/sockets being closed
while ICE checks are running at the same time, referencing the same
stream_fds. Solve this by holding a reference to the stream_fd in the
ICE pair object.
Additionally, add a check for a possibly closed socket when running
checks.
Closes#2113
Change-Id: I279a62d9e52cb1d409bcfda871766002aac4a758
(cherry picked from commit ceb7996cca)
(cherry picked from commit 6033d0b08a)
For-cycle expects the `sink_ml` for setting the `call_media`
at the upper level of the cycle, but instead the `monologue`
is used, which is supposed to be used in the nested for-cycle.
Looks like a copy-paste typo. Major fix.
Change-Id: I225a51fde7fa8d10bac832ce5fc5444ee544e882
(cherry picked from commit 3285aec607)
(cherry picked from commit e438feacbf)
Make sure data is 64-bit aligned. Fixes alignment issues on certain
32-bit archs (armhf).
Change-Id: I66c1fc20e97c62d3d5e266e874812aed74d295ed
(cherry picked from commit 31375ca349)
(cherry picked from commit 30fa1c61cb)
If someone wants to stop the media for this particular monologue,
and it already has the MP allocated, which is marked for MoH,
then just ignore the stop media command.
This is to not let the play media/stop media procedures
overlap with potentially (previously) triggered MP via MoH.
Change-Id: If0bf4264b9c640b99f844efe5c2c8bc201a6ad16
(cherry picked from commit c5fef5e0d4)
(cherry picked from commit 09d7a8b01b)
Both the play media and the music on hold use
the `media_player::call_play_media_for_ml()` as an entrance
towards the `media_player::media_player_new()` and
`media_player::media_player_play_init()`.
Prevent allocation of new MoH over ongoing one,
as well as the `play media` command over ongoing MoH.
Otherwise a media player will be re-used to override
ongoing activity.
Explicit policy must be used:
First the MoH has to be stopped
by getting back to the SDP `sendrecv` state, before
any other MoH request, or play media request can be fulfilled.
Change-Id: Ia5fdc10cfa8f491109ade9a2225b182ccdaa4778
(cherry picked from commit 7a83ce891a)
(cherry picked from commit 1e659e2010)
To show that player has been created.
Additionally: add one more log line
to track that the play media is being requested.
Change-Id: I4e8eb8f282654902a96bffb70c7c241e9c78b8d5
(cherry picked from commit 2dc3014149)
(cherry picked from commit 92d00fe271)
The `name` is caller-owned, while the cache itself
also keeps a separate key object
in the `media_player_media_files_names`.
This can desynchronize the hash key and the list key.
Hence prefer using the owned key instead.
Change-Id: I9b85c306cc4e2c32675bada3dec0d049ff5645fe
(cherry picked from commit 7a4feef1ff)
(cherry picked from commit bbb1f9e6d3)
It doesn't make sense to produce an answer SDP with ICE attributes (and
enabling ICE processing) if the offer didn't indicate ICE support.
Closes#2106
Change-Id: I7cc6083beffc3f76f34c965049e8179866df2e6f
(cherry picked from commit eb108705b2)
(cherry picked from commit abe442a0c2)
Already used by `--no-fallback`, so the rest just probably
inherited the same letter when doing copy-paste.
That is ambiguous and may cause option parsing conflicts.
Keep `F` only for the historical(most important) option
and set the rest to 0.
Change-Id: I6e4841f6e6614bfdfcf53d159130d6d676073d47
(cherry picked from commit b659b2371f)
(cherry picked from commit d6130bae03)
These are arena allocated.
Closes#2108
Change-Id: Iac29da2b3bee73c10f68854c7cb3b2010fbf4d5a
(cherry picked from commit efd96fd820)
(cherry picked from commit 4bdb4607ad)
Skip initialisation of seq_out to a random number and track its init
state with a dedicated flag. Initialise it to the first received seq.
Change-Id: Iecdd3d28c5d6fe36d0a7488dd231767ff788942e
(cherry picked from commit 154f2b8927)
(cherry picked from commit 59d95c9d55)
Don't check destination indexes if the non-forwarding flag is set, as
everything would be zero
Change-Id: Ieedf8009c1a9670aba4c57ee988c0dead18a79f1
(cherry picked from commit 2a4e3de30b)
(cherry picked from commit d69c4a09d6)