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)