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)
(cherry picked from commit 0119014d46)
Reverses the side effect of I225b43dff
Restores consistency and fixes tests and very slow systems
Change-Id: Ib4285e7aae95cd58eccd1d3c4f84e5786b4b0810
(cherry picked from commit ffacde5748)
(cherry picked from commit b36b9abf13)
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)
(cherry picked from commit 28576a6efc)
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)
(cherry picked from commit 6028d064cc)
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)
(cherry picked from commit ed899bc94b)
Must double escape these in "" strings
Change-Id: I896ea35928ec7a7ef4dc7709d8eb37d1f6731897
(cherry picked from commit 6eecfc0463)
(cherry picked from commit a0638734e3)
now that the returned last_event_ts is always that of the previous
DTMF, we can ensure that the next one isn't transmitted until that
time plus the required pause.
Like the num_samples calculation, the actual time needs to be
increased by 1 packets worth of samples so tha pause lasts the
full duration required
Change-Id: I6da1dd7cbcf49f7f0431a5123df2cdc382fe3dba
(cherry picked from commit e12e408ee3)
this function is used to determine if a pause is needed on a new
injected DTMF's start ts to ensure a gap between the events. However,
if an inject request comes in after the end of the previous event
but before it would have been offset due to pause, no pause is added
This change returns the ts value from dtmf_state if the queue is
empty as that will always be the ts of the last DTMF transmitted
Change-Id: I4f3cf5115d1a8e26c0ca1bc9570c46e29391e0d0
(cherry picked from commit bdb1022677)
the num_samples was added to the start_pts, which is the first event
packet timestamp, which has already increased its ts by its event
duration. so, the total duration of events ends up being one packet
more than intended.
Change-Id: I423bb222a81c5bd78e570ff2026c72dd4dd1b100
(cherry picked from commit c92748dc9d)
Make sure we increase the output RTP sequence
number for each generated packet in the case
of packets that need to be duplicated or sent
repeatedly (DTMF end event)
Change-Id: Ia16ffefc0791d01575248ac5d8025eb30ccaec67
(cherry picked from commit 41a9894cce)
Graphite isn't able to deal with spaces in the metric names delivered to
it. Introduce special version of the command strings with spaces
replaced by underscores.
closes#1780
Change-Id: Ie8bcec5ca4f2d427e92901f6fa76b985df6e459e
(cherry picked from commit c6a5b53912)
Grab the correct list link when inserting in the middle of the list.
Change-Id: I4ae484ba05f5e4be827101193952653c21c47ad3
(cherry picked from commit 3f5a22d2a5)
This is required to look up the correct interface during Redis restore.
Change-Id: I0ea67576deba95b4201c6384fdcf8051b84f879e
(cherry picked from commit 531e720fd4)
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)
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)
Convert each listener entity into a list.
Support a list of values for each option so that multiple
ports/addresses can be listed.
Keep previous behaviour unchanged: If ANY address is given, open
listeners for IPv4 and IPv6.
Change-Id: Ic54f28d1262f60d5e5c9d824a95e7c33ebc2aba9
(cherry picked from commit ddc3565bfe)
These had unintentionally been disabled and so have fallen derelict.
Replace the makefile `with_amr_tests` conditional with
`RTPENGINE_EXTENDED_TESTS`. The previous `with_amr_tests` was not
actually set anywhere and so these tests never ran. The new
`RTPENGINE_EXTENDED_TESTS` is used as switch for other tests already.
Bring the tests up to date so that they compile and run.
Allow for alternative AMR bit encodings as different versions of the
codec produce different outputs.
Use an inline `struct cb_args` to pass these expected strings to the
callback functions.
Update `int` to `size_t` where appropriate.
Make a copy of the format string in `__sdp_pt_fmt` as the parsing
function temporarily writes into the string, which means a readonly
string literal doesn't work.
Update the AMR tests in test-transcode to the new API and new expected
values.
Change-Id: Ic3332e696522a28595ea06be9996001d3ab7686e
Fix for:
make: *** No rule to make target '../daemon/poller.c', needed by 'codec.c'. Stop.
make: *** Waiting for unfinished jobs....
Change-Id: I94bb758cc28cbaf2bec320213dd40a4fd075f12c
To be able to use this feature from controlling agents which don't
directly support the new dictionary keys, add an alternative syntax via
the `flags` list. This is in line with all other similar dictionary keys
(e.g. `codec-` etc)
Change-Id: I7210c74c9cd3b31338052efa1c3504fe775c1c46
These are part of the extended tests which are normally disabled. Some
change in libopus results in different encodings in these cases, making
these tests fail with newer libopus versions. Accept an alternative test
result.
Change-Id: I846830a47651bf7a7f83fa0bb1f1220db77db71e
Transcoding is flow-specific, so it doesn't make sense to have a flag
for it in a call_media section. Instead we use the transcoding flag set
on the call_subscription objects (on subscribers), and set/unset a flag
on the monologue struct, depending on whether any media flows (going to
subscribers) have transcoding enabled.
Change-Id: Id671d56e56a22eaa8e56f6d449770b0c7b086cea