If we're updating the handlers for one particular source -> sink flow,
only stop/reset the handlers matching this flow.
Change-Id: I1d046f47f8d26cac47c5d0f4318498eacb6c5677
(cherry picked from commit e24bacaa4c)
ps->out_lock must be held when sending packets, and the SSRC lock must
be held for sending RTCP
Change-Id: I19fe85762e330a9b8a03658a828f735db6eb6cb7
(cherry picked from commit 6c7277a84f)
Whilst working on the Reproducible Builds effort [0], we noticed that
rtpengine could not be built reproducibly.
This is because the manpages generated by pandoc contained the current
build date.
An (upstreamable) patch is attached that uses the value from the
SOURCE_DATE_EPOCH environment variable if available.
[0] https://reproducible-builds.org/
Change-Id: I2eb22dc5f57af69d217fb06c1c126e7e40dbd451
(cherry picked from commit ea6cc29e83)
Add new `auto-daemon-tests` scenarios for checking
manipulations on `a=fmtp..` attributes.
Change-Id: I215bee9244e962a7492095aee19014ffaa7d7e90
(cherry picked from commit ffd0ec96c5)
(cherry picked from commit 8efc190f39)
Because the attribute parts variables are declared in
one signle row, these (popping up) commentaries in other
code parts, show only the first code comment for all of the
variables, which makes the code reading confusing.
In order to fix that, declare each one separately, that
gives own code (popping up) commentary per variable.
Change-Id: Iddb94b989844b997055be70a526cca59ab2fddf3
(cherry picked from commit 5e62bc5ee2)
(cherry picked from commit 3938d014f8)
Ignore `a=` during sdp attribute level manipulations
during lookups with the `sdp_manipulate_remove()` and
`sdp_manipulations_subst()`. This is only in:
- `append_attr_int_to_gstring()`
- `append_attr_to_gstring()`
This is required for a proper `str` matching in ht.
Then explicitely add `a=` to the resulting `GString *s`.
Change-Id: I569a356e9a01cffb0068a87a9c6d5a568fe85ecc
(cherry picked from commit fff475cc45)
(cherry picked from commit 01070e2f5b)
In order to be able to remove or substitute `fmtp` parameters,
we have to take care of that in `insert_codec_parameters()`,
since `fmtp` are additionally being printed already after
execution of `process_media_attributes()`.
Change-Id: I78547be13939e161b193beecd8693e22c534fd18
(cherry picked from commit 1bf894cc9e)
(cherry picked from commit 87b7cad17a)
Beginning from the 25th Sep 2023, usage of the
configuration file v2 is required. This commit
introduces it.
Change-Id: Ib6d154195621e5939e7d0bd2d6ca9ec62e487077
(cherry picked from commit ec55ccf5fc)
Due to improper linking some of the subjects
used to be no clickable. This commit fixes it.
Change-Id: I408b148ec7441ac6632666d43b0e96ced63cc760
(cherry picked from commit de492bb02c)
It's been noticed the previous default (static)
binding has been broken, hence explicitely define
usage of `sphinx_rtd_theme` and set appropriate
versioning requirements.
Change-Id: I847f7f3d0128fc2269449b7487524c8cd57e36b3
(cherry picked from commit 2737a6dad7)
With the "foreign" flag now stored in call_flags, restoring a call from
Redis restores this flag as well, overwriting the desired flag as we had
set it through call_get_or_create().
Reverse the flag setting by taking it out of call_get_or_create() (where
it's always false anyway, except when coming from Redis) and setting it
explicitly with call_make_own_foreign() after restorting call and its
flags.
Change-Id: Ib68be2aeedfa988b7555e426fa337657e1062245
(cherry picked from commit dbae76c3b6)
*) Remove packaging for -gpu packages
*) Remove build profile restrictions, except for the build dependency
itself
*) Remove script to generate dh fragments for -gpu packages
*) Convert --cudecs switch to a path argument pointing to the .so
*) Don't link against libcudecs during build
*) Only include the single types.h header needed for usage as a plugin
*) Resolve all symbols during startup after loading the .so
Change-Id: Ide99eec2156d5d3be8c40594391cb1603add4b16
(cherry picked from commit b82b31ec2b)
Consider errors from dlopen() or dlsym() as hard errors. Don't just log
an error message and continue startup. If we were instructed to load a
plugin, make sure that we could actually load it.
Change-Id: I1fcfa149a0eae277ef528fd3cef249ea7882e781
(cherry picked from commit f991930260)
Evaluating the __VA_ARGS__ twice for printing a critical error can have
side effects. Avoid these by using an intermediate buffer.
Change-Id: I8ddace6ad06f47d6827f3f3ba3c5b882cbfb0140
(cherry picked from commit 7235d906ff)
Older glibc uses a strange (and seemingly broken) approach to verifying
the cmsg structures by inspecting the *next* cmsg header and using its
length to see if there is enough space in the buffer. Since we're
constructing the cmsg list, at this point there is no next cmsg yet,
therefore causing spurious failures of CMSG_NXTHDR.
Work around this by initialising the entire buffer first.
See 9c443ac455closes#1720
Change-Id: I00ce9bc5686ab0c1612aff51f1b3e75d8cbd8a69
(cherry picked from commit 1e4efc60db)
Some gcc targets report ifunc as a supported attribute, while at the
same time actually trying to build the object fails with "ifunc not
supported on this target". Be more prejudicial with ifunc usage.
Change-Id: I5820338476938bf581d6d9e38fe0e6fd48f0b874
(cherry picked from commit 80014423c3)
Turns out `bool` and `gboolean` are not safely interchangeable as
they're different sizes. Doh.
Change-Id: I3cfda6584ce3f6cb142fef4a9ee9743ee4eebbe0
(cherry picked from commit 91a8f4be04)