Richard Fuchs
853fed7a83
TT#112700 remove useless duplicate test cases
Change-Id: Iff2caf158a10a7a1df57c741dd0d263c3f385dc0
4 years ago
Richard Fuchs
dc3a35a6b4
TT#91151 fix transcoding unit test case
Change-Id: I31aac1f9743f90c9f82fa7327ba0b82e579a9695
5 years ago
Richard Fuchs
92fb330a46
TT#91151 implement one-to-many forwarding
Change-Id: I80fd35da680d4ad1f4d3d21f14f11363106b9917
5 years ago
Richard Fuchs
1e0765bf6e
TT#91151 tie codec handlers to output media/sink
Change-Id: Id577f9afabbe5645a6e220b6450c39a35ff839a9
5 years ago
Richard Fuchs
1d387b98ef
TT#112700 rework codec offer/answer routine
Complete overhaul of the codec handling code:
*) obsolete flags `asymmetric codecs`, `symmetric codecs`, `reorder
codecs`
*) support proper codec offer/answer
*) split codec manipulation (strip/offer/accept/etc) into separate
functions for clarity and better code maintenance
*) fully update codec handlers in both directions after an answer
*) explicit allocation and handling of codecs and payload types in a
codec_store object
*) improve codec matchup logic during answer
*) more explicit handling of supplemental codecs (CN/DTMF)
*) remove now obsolete hacks for handling certain use cases
Change-Id: I996705ba8fe339524c2f70e6bb0fd854f9a1f4fb
5 years ago
Richard Fuchs
256b9917ec
TT#121752 associate SSRC hash to monologue instead of entire call
This solves problems when the same SSRC is looped through the same call
multiple times in different mono/dialogues, with different parameters.
Change-Id: I1d033cb1f012574d82b5bcbfffe11eb5f983cfd8
5 years ago
Richard Fuchs
586a8028eb
TT#111150 fix initialisers in test-transcode
This eliminates some compiler warnings
Change-Id: Id41742189d1a79e9d9b1bdf89a5269a9b3dcca7c
5 years ago
Richard Fuchs
87e5efc7d4
TT#111150 fix mem leaks in test-transcode
Change-Id: I3a796184e64b1fc1f760b53fe7d1855997ab8b72
5 years ago
Richard Fuchs
a86d98f8d1
TT#118902 add support for per-call debugging
Change-Id: I9b0eab21ff4e5c241ff045049ccd37f6044d5707
5 years ago
Damir Nedžibović
f650f95111
TT#14008 Squashed commit of the following:
commit b3d2d70d4c
Merge: 1e62cbbb eacd2634
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Mar 4 11:36:26 2021 -0500
Merge branch 'fix_packet_order' of https://github.com/enreached/rtpengine into enreached-fix_packet_order
Change-Id: I30690cf4955c04238c359e4aca2d0fea36ebfd36
commit eacd2634e8
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 16:56:07 2021 +0100
Update docs with --poller-per-thread option.
commit 7d02539673
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 16:47:55 2021 +0100
Prevent mem leak.
commit 3510a5d021
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 13:25:39 2021 +0100
Make poller per thread functionality configurable.
commit a2142b2a5e
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 11:57:18 2021 +0100
Use pthread_self() instead of syscall(SYS_gettid).
commit 2e471cae40
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 11:46:44 2021 +0100
Refactor the code a bit.
commit 91f72455c9
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 11:21:42 2021 +0100
Use usleep() instead.
commit 08d3bdb4ed
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Thu Mar 4 11:03:39 2021 +0100
Use ssl_random() instead.
commit 2d9995a864
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Tue Mar 2 15:50:13 2021 +0100
Sleep for 20ms instead.
commit eded168a38
Author: Damir Nedžibović <damir.nedzibovic@enreach.com>
Date: Tue Mar 2 15:11:43 2021 +0100
Implement poller per thread in order to fix packet order.
Change-Id: If652c906be8b16115eb84e749f89a2729ba75120
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
302968fc0e
TT#14008 rename some test suites
Rename test suites from *-test.c to test-*.c as the former is
conflicting with the file name pattern of the build tests, which are
listed in .gitignore.
Change-Id: I8779fac492510c0996bdcb2c6250c07536fe3b63
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
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
341f2e04dc
TT#92250 also create codec handlers for synthesised supp PTs
Change-Id: Icebd5a5d8f1ab159f7343b8036e36322b1211e8a
5 years ago
Richard Fuchs
6e519047df
TT#101653 add tests for codec-consume/accept
Change-Id: I054584d338645ebe59ed0803aa3262f81c2e7401
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
54e68942be
TT#104500 better support a=rtcp-fb
Link the attribute value to each RTP payload type and only output it if
PT is still present
Also merge PT attribute printing into a single loop
closes #1128
Change-Id: I494498ca806b795045e9e5bbb82174fa4aef8b2b
5 years ago
Richard Fuchs
16fd8aad15
TT#101653 alter re-invite codec negotiation logic
Change-Id: Ic5f68258b6f1f10af1df42ff8b06d82488595c35
5 years ago
Richard Fuchs
de7807f0f1
TT#101653 update transcode-test with new codec flags
Change-Id: I359820746b5ca5f82638a81089ed30b16e402ad4
5 years ago
Richard Fuchs
bae79d3fef
TT#98901 handle AMR SID DTX
Change-Id: I418c43e0cef2a70143010235988523f195a3bf5a
5 years ago
Richard Fuchs
5ac91499fe
TT#92250 keep supplemental codecs last in list when transcoding
Change-Id: I3172414fd724e5c5fe9d69b5a78270bed41f83b6
5 years ago
Richard Fuchs
e4e9061569
TT#91003 fix test compiler warning
Change-Id: Id2d1add9e41aca2100d5a6f6c9ae388029428ec6
5 years ago
Richard Fuchs
64e6bf440b
TT#82203 add detailed transcoding stats
Change-Id: Ib04767c38b00b17ef5844a9f6649e009270f8f82
6 years ago
Richard Fuchs
19a9b44332
fix tests after e516db2
fixes #978
Change-Id: I134f9493b750dd36db3d1b0967f3b9dc86ddb19f
6 years ago
Richard Fuchs
2e4617ff86
TT#78307 move SSRC send stats to actual point of sending
Change-Id: I54ff4afeb8b3a205a678e9102fb0d8cedee78bae
6 years ago
Richard Fuchs
d872802ba2
TT#76711 T.38 <> audio gateway
Change-Id: I4552e07eee632fa730745410b08c3bf70ab67ab2
6 years ago
Richard Fuchs
de69c5ed1f
TT#76711 split codec_handler_get for different protocols
Change-Id: I67573100108aedb1c8e7fc5920682a7872fd10c2
6 years ago
Richard Fuchs
d847d26e0b
TT#76711 convert codec handlers hash table to direct hash
Change-Id: Ieeb8183cd8041a10e311fb4f2fe6b92bbc5ad8bb
6 years ago
Richard Fuchs
e3ec97f858
TT#50652 add -Wstrict-prototypes everywhere
Change-Id: Ic5b5fcb892a8f70196478f8622d956bdea373422
7 years ago
Richard Fuchs
497c2d6a8d
TT#49104 move RTP sequencing into SSRC context
Detect and handle RTP seq resets while transcoding and provide
consistent output seq
fixes #664
Change-Id: I063bd9432f253fde25e90cdeb4e3460a882f7778
7 years ago
Richard Fuchs
490d7eb019
disable all AMR tests by default due to inconsistent codec libs
closes #708
Change-Id: I48f8c229486dc52c227e64782b05f931f1012c66
7 years ago
Richard Fuchs
744d6a46ff
add codec-set option
Codecs that were implicitly accepted for transcoding had no option to
set their parameters (such as bitrate) for encoding. The codec-set
option adds this.
fixes #681
Change-Id: Ib238eb73a507af168c366579abc80da07250fe88
7 years ago
Richard Fuchs
ee01f15852
fix non-default encoder bitrate not being applied
Bitrates specified in codec-transcode-... options were applied to the
decoder created during the offer. The matching encoder only gets created
during the answer phase, at which point the specified bitrate must be
copied from the decoder.
fixes #681
Change-Id: Idc6a16a4493908d78bb0b48ae590aba046152af0
7 years ago
Richard Fuchs
04a83027a0
TT#43557 implement media blocking
Change-Id: I336cf7203c1236b3e596310690a89ce1c3fd8bf4
7 years ago
Richard Fuchs
e67b9c40da
TT#43556 support blocking of DTMF event packets
Change-Id: I7ef43ddb254b1583c2dc69b44a13b978eff15510
7 years ago
Richard Fuchs
08fc00906d
fix segfault with DTMF logging and implicit payload types
fixes #571
Change-Id: Id2b575ff555d7968006309bcb5b5d6bbac2ed1e7
8 years ago
Richard Fuchs
a9ec666cb4
TT#38350 implement sending DTMF events to syslog
Change-Id: I82fbdc7da6cbe2505ef1c98dd3c45b63c4461994
8 years ago
Richard Fuchs
bfac341aec
shut down transcoding engine when it's not needed
closes #562
Change-Id: I3c96cdcdeea8ee815f0ae7e40a4caccbfee9977e
8 years ago
Richard Fuchs
8562bdee70
support new `asymmetric codecs` flag
Change-Id: I244b3576be19658ecc2af353e427e95aea4fca70
8 years ago
Richard Fuchs
f1b81b649e
simplify parameters passed to codec_rtp_payload_types()
Change-Id: I8a9147bb527b3084ed9f4acfa82868fc26b0d8c2
8 years ago
Richard Fuchs
a2ed8e613a
convert transcoding unit test macros to functions
Change-Id: I409003397c7b510f79169e6069829b4bb949d12e
8 years ago
Richard Fuchs
f0b4f1d9a9
TT#37157 make payload mismatches in lossy codecs non-fatal
required to accomodate different versions of encoders
Change-Id: I47c574f1a8761b0ba042532145548e87d4398b75
8 years ago
Richard Fuchs
9b447cf18a
TT#37157 add G722 transcoding test incl RTP TS testing
Change-Id: I33f244eeccfbf9a9358608a73743585fd235686b
8 years ago
Richard Fuchs
6e9776876c
TT#37157 add RTP TS and seq checking to transcoding tests
Change-Id: Ib9e17aa6b0b3b3ec945d0abe54cdefca5e7ea989
8 years ago
Richard Fuchs
88778d981e
TT#37157 eliminate stray compiler warning in test code
Change-Id: I554308499edb326bae56841629827ed85152efe4
8 years ago
Richard Fuchs
6f6bad1d74
TT#37157 swap parameter order for packet_seq() test macro
Change-Id: I61f257efad7afc9634c73a32c3167b2ef8aca608
8 years ago
Richard Fuchs
95a7cc6cfb
eliminate redundant function argument
Change-Id: I5bff4436072c2855590e08d90c5098af3abceb93
8 years ago
Richard Fuchs
d64c888a0e
TT#36301 transcoding unit tests
Change-Id: If48e5afe5a343b557183b6e87441f52424dd2c6a
8 years ago