Make sure data is 64-bit aligned. Fixes alignment issues on certain
32-bit archs (armhf).
Change-Id: I66c1fc20e97c62d3d5e266e874812aed74d295ed
(cherry picked from commit 31375ca349)
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)
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)
RFC says that annex B is the default in the absence of the annexb=no
format string. Consider the alias "G729a" as annex A.
Closes#1951
Change-Id: I9a8483ee5520bf4688601123f1ebec4f1f480642
(cherry picked from commit 3df26cf2d0)
(cherry picked from commit 754837ea9f)
Fixes regression from Ib4285e7aae
RTCP multiplexing requires the RTCP sender to maybe lock the same output
stream, maybe lock some other one. Allow for both.
Change-Id: I6fcef32e656f8f0de46ad777f11a19c259ce35c7
(cherry picked from commit cec0afa25e)
(cherry picked from commit d1d4110f0f)
(cherry picked from commit ea26245c4d)
With selected_sfd being protected by in_lock, we pretty much have to
hold at least in_lock everywhere, and end up requiring both locks in
many places. The distinction has become pointless.
Change-Id: Ic0ad976c2d68d9639b9434da7f0e6e9c0d84c185
(cherry picked from commit e03f814855)
(cherry picked from commit 222fcaa4b0)
(cherry picked from commit abf1ad73d2)
Reverses the side effect of I225b43dff
Restores consistency and fixes tests and very slow systems
Change-Id: Ib4285e7aae95cd58eccd1d3c4f84e5786b4b0810
(cherry picked from commit ffacde5748)
Protect selected_sfd with in_lock.
Protect RTCP sending with in_lock and out_lock as appropriate.
Has the odd side effect of RTCP reports expected in tests to be sent one
packet later than before.
Closes#1966
Probably fixes#1927
Change-Id: I225b43dff8e8fbb938d3be6aad50249997615d77
(cherry picked from commit ffc539c0d8)
Using `l->next` as a test for whether only one element is left in the
list is not reliable. Use the actual list length instead.
Update one affected test.
Closes#1961
Change-Id: I5773715700220cd762e61090bac941ddd33afd9b
(cherry picked from commit 02897ccb46)
In some cases, in particular when multiple input codecs are transcoding
to the same output codec (e.g. audio + DTMF -> audio), it's possible
that one of the input decoders produces frames in a format different
from the one expected by the encoder. Add an encoder-side resampler to
compensate for that.
Change-Id: I74d55edf47ac2fa65f950e68f4a5975f1ab947bb
(cherry picked from commit 461f663e58)
A call that gets created but then doesn't get initialised would have its
Redis DB left at zero. At destruction it would then try to switch to DB
zero. Fix this by using an appropriate initial value.
Closes#1905
Change-Id: I852e48c5a06b732b37d2ccd5c478de4760aacd4e
(cherry picked from commit add46f265a)
The newest module comes with a version string of "15.0.1" which makes
the conversion to float fail. Use string operations to fix.
Change-Id: Ia13534e9eeab451261d4c48fa782b116652b6904
(cherry picked from commit 9542cc0f3f)
Fixes a corner case that happens when trying to delete a call created with
ng offer and no-redis-update flag and for which no ng answer was received.
In such cases, one would receive warning messages from Redis
"ERR DB index is out of range".
What happens is that on call creation redis_hosted_db defaults to -1. This
value is changed when writing to Redis, but the writing is not done for a
ng offer with no-redis-update.
Kudos go to Pawel Kuzak.
Closes#1910
Change-Id: Iad19ec8ac69b169e6352662697b17eb23e6970fb
(cherry picked from commit bba9625b25)
Make sure we properly return a failure if no supported payload type is
present.
Change-Id: Ia483e0819b2d8ca0c2c5184c929dfe3d05c96ca1
(cherry picked from commit 5f6609de5d)
Make sure a codec is not only known to us, but that it can actually be
used, in places where it makes sense. This is partially redundant
because ensure_codec_def_type already takes care of this, but a codec
definition may come from a different source, so it doesn't help to
double check.
Change-Id: I91af84afc2477840f1400674b2538ad8fb7746ee
(cherry picked from commit 7b60e85970)
A matching payload type number in an answer might not be enough to
establish compatible codecs. Also check the format parameters. Reject
and ignore answer codecs that are not compatible.
Change-Id: I12a1287216886926ec4b3c704029c923f815b429
(cherry picked from commit 9c00f30475)
(cherry picked from commit 71ff9210ce)
(cherry picked from commit 76bfb0e707)
We don't parse these out and formats should be compatible.
Change-Id: Ie106591f3d12539eb1101793b50df9db97637625
(cherry picked from commit 68ad1dc8df)
(cherry picked from commit 91b5479117)
(cherry picked from commit 8d34d4c4dd)
Teach rtpengine to distinguish between G.729 with and without annex B,
which are incompatible to each other.
Change-Id: I09b66a097007ba3283546880f06f81b4f89e126d
(cherry picked from commit 7ab4009a0b)
(cherry picked from commit 72af2beca5)
(cherry picked from commit 1060a47f72)
HTTP/WS init creates worker threads, which would be terminated by a fork
to background. Reverse the order.
Closes#1896
Possibly also relevant to #1895
Change-Id: I30b61e07ad3bed41b6b241e8943ed479277c1474
(cherry picked from commit dd04af1163)