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)
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)
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)
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)
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)
Provide an extra codec-store for the lookup of the answer codec. This is
needed for codec switches during an extra answer, as the original codecs
are kept in a different codec-store.
Closes#2073
Change-Id: I7e2efc434789ecc8d3b5fcf97240e5c3f7c84652
(cherry picked from commit cfe9a588fa)
Instead of always blindly picking the matching supp codec for the
receiver codec, pick it only if there is no appropriate sink supp codec,
or both are compatible (which implies a payload type mismatch).
Closes#2084
Change-Id: Ie401db500a038f60f3b4286e2067f90674c611df
(cherry picked from commit 502e0b791f)
This can be populated by automated release build tools so that the
version can be known at runtime even in the absence of a git and/or
Debian environment.
Change-Id: If6d55f0ececd9381bf281ea2ead15fccd8da01a3
(cherry picked from commit f2d34f3fad)
This is needed to correctly print media labels for SIPREC in case the
input SDPs already had media labels.
Change-Id: I021f44ba28a3648ceb62db12425ddf545de42a96
(cherry picked from commit 9a65ab0335)
Print information that directly matches the medias presented in the
output SDP.
Change-Id: Ib831f173c07923564158e3473f137cf867dca9bb
(cherry picked from commit b7dbc4be72)
Run the included backports script for distro-specific packaging.
Add distro suffix to the version so that all build artefacts can be
included in the release without collisions.
Include G.729. This is available in both Sid and Trixie.
Change-Id: I7efcf6a115158c5154936494c5c85628e37b21ab
(cherry picked from commit 68c6bf60a8)
1) Add a release job
Automatically create a GitHub release with attached Debian packages,
whenever a tag starting with 'mr' is pushed.
Generate release notes grouped by author from git commits between the
previous mr* tag and the current tag, similar to the format used in
debian/changelog.
2) Automatically generate Debian packages for PRs
This is useful for contributors as well as developers, to test and
verify proposed changes.
3) Consolidate Debian package workflows
Merge debpkg.yml into package-build.yml using a matrix strategy for
building on multiple Debian distributions (trixie, sid), using
jtdor/build-deb-action instead of custom Docker actions.
Now our release job merges artifacts from all distros.
4) Update from bookworm to trixie
Bump Debian package builds from bookworm to trixie, while at it, given
that Debian trixie/v13 is the current stable Debian release.
5) Bump workflow actions from in package build workflow
Update from v4 to current version v6, see
https://github.com/actions/checkoutCloses#2063
Change-Id: Ic1bfb3a7f9fa7e263f8e8d3b115baa01633db1a1
(cherry picked from commit e9fc1b1057)
Using the stream object after dropping the reference is unsafe.
Change-Id: I58df474272cc7e168d6d65e5f6ace3a42fe22ef1
(cherry picked from commit 9a3f33a703)
The `created_from` address string includes the port, which must be
removed when substituting it for the RPC URL.
Fix-up for Ib67b57b1d
Change-Id: Iaa33ec660d21736f8b075f36479ba2734a480a4a
(cherry picked from commit db1307da8f)
For a repeated subscribe-request on an existing monologue, make sure
that existing media sections are re-used for the same subscriptions as
they were previously, and only create new ones in an append-only fashion
for media subs which didn't previously exist.
Change-Id: I410c6af17eb31a5c5c43c78a7f82ba867f8480b7
(cherry picked from commit c27ecf4828)
Use a pointer to the arena plus a comparison test to determine whether
to ref or to dup the string, instead of a function pointer. The function
pointer alone wasn't enough as there can be multiple arenas.
Change-Id: Icd317e524fc2e5842f90d172ef7089d2cb0a5a28
(cherry picked from commit 4ea7873ca7)