Guillem Jover
07695d2abb
TT#111150 Use modern <stdint.h> uint<bits>_t types
The u_int<bits>_t are BSD legacy types, while the new ones are specified
by C99 and SUSv3.
Change-Id: Ia748cabc33a7e5adc2c7a6049ad1e55be0c788a8
5 years ago
Richard Fuchs
292ba2e72b
TT#111150 convert refcounting functions to macros
Convert ssrc_ctx_put() and ssrc_ctx_hold() to macros to aide in
debugging reference leaks. Having them as inline functions hides the
actual location of the refcount changes.
Obsolete ssrc_ctx_get() as returning values from macros is awkward and
it was only used in two locations.
Also fix a function invocation mishap: obj_get_o() should be used
instead of __obj_get() as the latter is an internal macro.
Change-Id: Icc0d63f04b3816632fd120c1c749cafabbbfa331
5 years ago
Richard Fuchs
d5d0a3a994
TT#111150 convert str.len to size_t
This makes the type in line with string(3) functions and eliminates some
compiler warnings.
Also update the related bencode data type.
Change-Id: I7ef4024f4b5a0f737b3dbe03bcd078032395bce6
5 years ago
Richard Fuchs
80099bd57c
TT#111150 fix mem leak in codec tracker
Change-Id: Ie1a617c7ab82147dfce7973d927843f55906a1a5
5 years ago
Richard Fuchs
aca786b3bf
TT#99621 fix RTCP generation after it has been stopped once
Change-Id: I1b4c890cfb3530360da3fa2205356aab95b973fc
5 years ago
Richard Fuchs
a2af257216
TT#98901 fix DTX TS reset detection
Change-Id: Ide2d7b2f9fccdd6475969ef5588acbc312ab588a
5 years ago
Richard Fuchs
3ada2ec0c1
TT#98901 handle DTX restarts and TS resets
Change-Id: I6eaa14fdaf52e9011125bf8021db8a1816a148c0
5 years ago
Richard Fuchs
7dc55e6378
TT#98901 convert from static DTX delay to dynamic buffer queue
Change-Id: Ib6bfdfb9d1967263dc8acb48a812d7e75f9c239b
5 years ago
Richard Fuchs
42dd21d1ec
TT#14008 compensate for negative clock drifts
Change-Id: I9c55646565f4b72ddc87cb7ef2b00204590cb15e
5 years ago
Richard Fuchs
a6c7e9403a
TT#14008 fix output of negative fractional numbers
Change-Id: I70e6589ac5a61103165127fd3fd5d768641ccfab
5 years ago
Richard Fuchs
64de499865
TT#14008 shut down codec handler when resetting
closes #1203
Change-Id: I6d4239e9ef5158a53e5e92a139d26a5b622f8aca
5 years ago
Richard Fuchs
8bea6eb64d
TT#14008 fix possible segfault
Change-Id: I90cfb2549f4c7d630897aefc1c34aac6bac1e636
5 years ago
Richard Fuchs
1393dbfc9a
TT#14008 shut down DTX buffer when resetting codec handler
closes #1203
Change-Id: Ibc8cc89c8fe152a9dc3172d24d3c27b75463d9bd
5 years ago
Richard Fuchs
ff034ff307
TT#14008 use encoder's codec_def instead of parent handler's
closes #1203
Change-Id: I6e39d44aec1ae84595a6da30ab7ab365de4db9ad
5 years ago
Guillem Jover
68797f4195
TT#111150 Mark bit-fields explicitly with as unsigned
Whether a bit-field is signed or unsigned is implementation specific, so
we should be explicit about this.
Change-Id: I744df3d24bc08e95fa816ba4135f19cd3a5dcb17
Warned-by: lgtm
5 years ago
Richard Fuchs
af6ef843da
TT#100200 suppress audio packets during a DTMF event
Change-Id: I9612d692c3c6945c93b3194760383e67e5bca0e0
5 years ago
Richard Fuchs
7414da5bff
TT#100200 fix timing issue with sending DTMF
Change-Id: Iad9cffaf7316420fde85e0eeaffda7409bf49625
5 years ago
Richard Fuchs
083ae4c37f
TT#14008 convert rtcp-fb handling to list
closes #1196
Change-Id: I08ec4bf783d2a6bc0e83498e61cf964718a03de4
5 years ago
Richard Fuchs
5c79036f63
TT#14008 fix potential failed assertion
Change-Id: Ie4912bd5395802b51293d13c929a02374fa9b0f0
5 years ago
Guillem Jover
962479bd63
TT#108003 Stop using random()
While these usages are not supposed to be security sensitive, it's still
best to avoid the usage altogether so that we do not need to think about
it. Add a taint macro so that this does not regress in the future.
Change-Id: Ic75861ed1b7ce9dfca4f897de8be2408204ce3cb
Warned-by: coverity
5 years ago
Richard Fuchs
7101f535da
TT#108003 remove unnecessary null checks
Change-Id: I1aeb10662eac2ed0553cf4489d1e1d7a487ad272
5 years ago
Richard Fuchs
225e5add8f
TT#108003 don't consume `pt` before finish using it
__rtp_payload_type_add_recv takes ownership of `pt` and potentially
freeds it. Move the call to the end of the code block, after we're done
using it.
Change-Id: I5591cd6b22295ddcd6801e2bbbb381bff403fea8
5 years ago
Richard Fuchs
8abc6b1ca4
TT#91151 convert RTP PT hash tables to direct hashes
Change-Id: Id1f464794089f4de4ffce4914703b588ef0045a3
5 years ago
Richard Fuchs
ae82034dfe
TT#99621 add option to disable RTCP generation
Change-Id: Ifed6d255dd9d3ec5bc38a79a8f71da59d98243ea
5 years ago
Richard Fuchs
5741f13930
TT#109251 fix redis restore segfault
Change-Id: I501a47b065e7b8ff28a3ac157c0ce567f228557f
5 years ago
Richard Fuchs
a6a18233de
TT#102450 fix some timestamping issues
Make sure G.722 rate multiplies is applied in the right places
Don't trust encoders to return proper timestamps, but instead track them
explicitly based on frame duration
Change-Id: Ia9fa96cf662da97159fa170c3a3f37516889e1bd
5 years ago
Richard Fuchs
c5ef68897a
TT#76250 consider default number of channel when matching codecs
Eliminates duplicated codecs when `opus/48000/1` is used for example
Change-Id: If434e34fe75883544cf6c2c83723af73878ccb20
5 years ago
Richard Fuchs
0898923c38
TT#98901 use correct DTMF codec context
Change-Id: Idf66a2528d06830247e71038a9616726afd588c4
5 years ago
Richard Fuchs
fd275acc5c
TT#98901 use DTX buffer for related DTMF events
Change-Id: Ia9b83bf7a0989ec2e20ac0d8ea9a1024a8f5d417
5 years ago
Richard Fuchs
e7739d020f
TT#98901 fix TS scaling issues for DTMF
Change-Id: I94eceb0946605f270279be519f156ff9c905ce54
5 years ago
Richard Fuchs
6feef3694c
TT#98901 fix some clock skew issues
Change-Id: I3d1be408e8b16ec0b3a92fce9c4fe2969a8968c9
5 years ago
Richard Fuchs
0bab726e5d
TT#92250 reset opposite side supp handlers
If a supplemental codec was removed by the codec tracker, we must reset
any codec handlers on the opposite side that were using this output
codec.
Change-Id: I7fb9d0ec7a061682fe3b28d9ead14ac263aff7c3
5 years ago
Richard Fuchs
604aa5a9a0
TT#92250 add new reorder-codecs flag
Change-Id: I93587b6675540438f81193896ae8d8966b3a12a6
5 years ago
Richard Fuchs
a02134cd06
TT#92250 split up __accept_transcode_codecs
Change-Id: I52b602961c2e60f5e73576bcea8e9af47528111a
5 years ago
Richard Fuchs
341f2e04dc
TT#92250 also create codec handlers for synthesised supp PTs
Change-Id: Icebd5a5d8f1ab159f7343b8036e36322b1211e8a
5 years ago
Richard Fuchs
30733ec5cd
TT#97301 support granular log levels
Change-Id: Ife458bd2449f61113a3e6db1708821570d92dc23
5 years ago
Richard Fuchs
44bc0b90c8
TT#99621 feed locally generated RTCP to stats tracker for MOS
Change-Id: I545f306e0f16dc71e20e10ebd419795275f7e3b2
5 years ago
Richard Fuchs
46176f2937
TT#101653 defuse codec tracker so it doesn't remove too many
closes #1136
Change-Id: I692cd15daf57bb95c5592099713bdc46338d4321
5 years ago
Richard Fuchs
f861ff7f1e
TT#101653 limit maximum delay in input processing after lost packet
Change-Id: Ie55e6e8a23836c97ae0a20f6604b0a80e238a2d8
5 years ago
Richard Fuchs
8517c99af2
TT#101653 detect and adjust for output clock skew
Change-Id: I3844a49bf2a8cd416f9cb1ceab6b3ed69732d0e6
5 years ago
Richard Fuchs
d990ad7f1e
TT#101653 more verbose packet scheduler log message
Change-Id: I5bab050ca6bb71cb32c6d19631ac63444fbed811
5 years ago
Richard Fuchs
c6208914a3
TT#101653 check receiver side for supplemental transcoding
If the receiver is transcoding any supplemental codecs, we must also
transcode all other codecs.
Change-Id: Ia169b2cd78762fbca175a83c2425b1f3caf7ad86
5 years ago
Richard Fuchs
a4d0a35430
TT#101653 eliminate superfluous log messages
Change-Id: I1fdeaac3b301e4b6bd70b4ae207505bca1d3c0a3
5 years ago
Richard Fuchs
71d02ff486
TT#101653 retire always-transcode flag
Change-Id: I845c4b2f811c2945c9015cdf4570036f3a26b81f
5 years ago
Richard Fuchs
336cb5b280
TT#101653 add codec-consume and codec-accept options
Change-Id: Icac343b34881628118f2c36181be66db1c6286e0
5 years ago
Richard Fuchs
73e4ef42eb
TT#101653 add silence detection option
Change-Id: I14940fcabdef475ed5dbe74d9af7ebc2af10311b
5 years ago
Richard Fuchs
08cdc4ce5a
TT#101653 generalise handling of supplemental payload types
Change-Id: Ic4e2387aa45fc0584184bae907f1bf0cbf6be054
5 years ago
Richard Fuchs
96bd7a6986
TT#100200 track matching CN payload types
Change-Id: I6db6c08afee2ca8353e07ace952a630105ad9c25
5 years ago
Richard Fuchs
a15e3a28c9
TT#99621 update RTP stats from kernel for RTCP
Change-Id: Iff54c4b8bac9df7c0e58c8dbdc424e6c4faf8780
5 years ago
Richard Fuchs
c12ec6600d
TT#99621 support jitter tracking for RTCP
Change-Id: I181e06e904702f37e155990dc597391c17ae4ad0
5 years ago