Richard Fuchs
a6c7e9403a
TT#14008 fix output of negative fractional numbers
...
Change-Id: I70e6589ac5a61103165127fd3fd5d768641ccfab
4 years ago
Richard Fuchs
64de499865
TT#14008 shut down codec handler when resetting
...
closes #1203
Change-Id: I6d4239e9ef5158a53e5e92a139d26a5b622f8aca
4 years ago
Richard Fuchs
8bea6eb64d
TT#14008 fix possible segfault
...
Change-Id: I90cfb2549f4c7d630897aefc1c34aac6bac1e636
4 years ago
Richard Fuchs
1393dbfc9a
TT#14008 shut down DTX buffer when resetting codec handler
...
closes #1203
Change-Id: Ibc8cc89c8fe152a9dc3172d24d3c27b75463d9bd
4 years ago
Richard Fuchs
ff034ff307
TT#14008 use encoder's codec_def instead of parent handler's
...
closes #1203
Change-Id: I6e39d44aec1ae84595a6da30ab7ab365de4db9ad
4 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
4 years ago
Richard Fuchs
af6ef843da
TT#100200 suppress audio packets during a DTMF event
...
Change-Id: I9612d692c3c6945c93b3194760383e67e5bca0e0
4 years ago
Richard Fuchs
7414da5bff
TT#100200 fix timing issue with sending DTMF
...
Change-Id: Iad9cffaf7316420fde85e0eeaffda7409bf49625
4 years ago
Richard Fuchs
083ae4c37f
TT#14008 convert rtcp-fb handling to list
...
closes #1196
Change-Id: I08ec4bf783d2a6bc0e83498e61cf964718a03de4
4 years ago
Richard Fuchs
5c79036f63
TT#14008 fix potential failed assertion
...
Change-Id: Ie4912bd5395802b51293d13c929a02374fa9b0f0
4 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
4 years ago
Richard Fuchs
7101f535da
TT#108003 remove unnecessary null checks
...
Change-Id: I1aeb10662eac2ed0553cf4489d1e1d7a487ad272
4 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
4 years ago
Richard Fuchs
8abc6b1ca4
TT#91151 convert RTP PT hash tables to direct hashes
...
Change-Id: Id1f464794089f4de4ffce4914703b588ef0045a3
4 years ago
Richard Fuchs
ae82034dfe
TT#99621 add option to disable RTCP generation
...
Change-Id: Ifed6d255dd9d3ec5bc38a79a8f71da59d98243ea
4 years ago
Richard Fuchs
5741f13930
TT#109251 fix redis restore segfault
...
Change-Id: I501a47b065e7b8ff28a3ac157c0ce567f228557f
4 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
4 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
4 years ago
Richard Fuchs
0898923c38
TT#98901 use correct DTMF codec context
...
Change-Id: Idf66a2528d06830247e71038a9616726afd588c4
4 years ago
Richard Fuchs
fd275acc5c
TT#98901 use DTX buffer for related DTMF events
...
Change-Id: Ia9b83bf7a0989ec2e20ac0d8ea9a1024a8f5d417
4 years ago
Richard Fuchs
e7739d020f
TT#98901 fix TS scaling issues for DTMF
...
Change-Id: I94eceb0946605f270279be519f156ff9c905ce54
4 years ago
Richard Fuchs
6feef3694c
TT#98901 fix some clock skew issues
...
Change-Id: I3d1be408e8b16ec0b3a92fce9c4fe2969a8968c9
4 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
4 years ago
Richard Fuchs
604aa5a9a0
TT#92250 add new reorder-codecs flag
...
Change-Id: I93587b6675540438f81193896ae8d8966b3a12a6
4 years ago
Richard Fuchs
a02134cd06
TT#92250 split up __accept_transcode_codecs
...
Change-Id: I52b602961c2e60f5e73576bcea8e9af47528111a
4 years ago
Richard Fuchs
341f2e04dc
TT#92250 also create codec handlers for synthesised supp PTs
...
Change-Id: Icebd5a5d8f1ab159f7343b8036e36322b1211e8a
4 years ago
Richard Fuchs
30733ec5cd
TT#97301 support granular log levels
...
Change-Id: Ife458bd2449f61113a3e6db1708821570d92dc23
4 years ago
Richard Fuchs
44bc0b90c8
TT#99621 feed locally generated RTCP to stats tracker for MOS
...
Change-Id: I545f306e0f16dc71e20e10ebd419795275f7e3b2
4 years ago
Richard Fuchs
46176f2937
TT#101653 defuse codec tracker so it doesn't remove too many
...
closes #1136
Change-Id: I692cd15daf57bb95c5592099713bdc46338d4321
4 years ago
Richard Fuchs
f861ff7f1e
TT#101653 limit maximum delay in input processing after lost packet
...
Change-Id: Ie55e6e8a23836c97ae0a20f6604b0a80e238a2d8
4 years ago
Richard Fuchs
8517c99af2
TT#101653 detect and adjust for output clock skew
...
Change-Id: I3844a49bf2a8cd416f9cb1ceab6b3ed69732d0e6
4 years ago
Richard Fuchs
d990ad7f1e
TT#101653 more verbose packet scheduler log message
...
Change-Id: I5bab050ca6bb71cb32c6d19631ac63444fbed811
4 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
4 years ago
Richard Fuchs
a4d0a35430
TT#101653 eliminate superfluous log messages
...
Change-Id: I1fdeaac3b301e4b6bd70b4ae207505bca1d3c0a3
4 years ago
Richard Fuchs
71d02ff486
TT#101653 retire always-transcode flag
...
Change-Id: I845c4b2f811c2945c9015cdf4570036f3a26b81f
4 years ago
Richard Fuchs
336cb5b280
TT#101653 add codec-consume and codec-accept options
...
Change-Id: Icac343b34881628118f2c36181be66db1c6286e0
4 years ago
Richard Fuchs
73e4ef42eb
TT#101653 add silence detection option
...
Change-Id: I14940fcabdef475ed5dbe74d9af7ebc2af10311b
4 years ago
Richard Fuchs
08cdc4ce5a
TT#101653 generalise handling of supplemental payload types
...
Change-Id: Ic4e2387aa45fc0584184bae907f1bf0cbf6be054
4 years ago
Richard Fuchs
96bd7a6986
TT#100200 track matching CN payload types
...
Change-Id: I6db6c08afee2ca8353e07ace952a630105ad9c25
4 years ago
Richard Fuchs
a15e3a28c9
TT#99621 update RTP stats from kernel for RTCP
...
Change-Id: Iff54c4b8bac9df7c0e58c8dbdc424e6c4faf8780
4 years ago
Richard Fuchs
c12ec6600d
TT#99621 support jitter tracking for RTCP
...
Change-Id: I181e06e904702f37e155990dc597391c17ae4ad0
4 years ago
Richard Fuchs
ba66e5fa3a
TT#99621 support RTCP generation
...
Change-Id: Iff832eaa4148cce4d87d24d4dc3b908dfa361770
4 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
4 years ago
Richard Fuchs
a642a1e694
TT#98901 avoid PT collisions with asymmetric codec setup
...
Change-Id: Icce014312cef57e9df6dbe4165a67bef617b84c7
4 years ago
Richard Fuchs
440ca5ac0f
TT#92250 fix to keep supp codecs last in the list
...
Change-Id: I3ed4993e6904e8236812d4a11619945c7d386689
4 years ago
Richard Fuchs
16fd8aad15
TT#101653 alter re-invite codec negotiation logic
...
Change-Id: Ic5f68258b6f1f10af1df42ff8b06d82488595c35
4 years ago
Richard Fuchs
9ea1303c6b
TT#100200 fix logic for DTMF detection trigger
...
Change-Id: I814112e7c3c9673f29bde42c05517ad3802de1fb
4 years ago
Richard Fuchs
8ded0076da
TT#101202 fix potential null pointer dereference
...
closes #1110
Change-Id: Ib5e26b40bc55e7c96b59a19ddd7ed6bec2d109db
5 years ago
Richard Fuchs
d362adf9c7
TT#100251 fix redis-restore segfault
...
Change-Id: I8444e6a84ca2b493d6b6ac728e654b8ad5e55252
(cherry picked from commit 90d650c888
)
5 years ago
Richard Fuchs
7a42c0c48c
TT#100251 distinguish between real transcoding and DTMF-related t/c
...
Change-Id: I4643baeb87a7b71e8fc9d23c433fa958c9c11a71
5 years ago
Richard Fuchs
87b4d6f499
TT#100200 always track supplemental codecs
...
Change-Id: Iab65585b0d536772766048c8c0977276b8628c74
5 years ago
Richard Fuchs
38890bdb5b
TT#100200 split out supp codec finding routine
...
Change-Id: If67b2c713918085d5d54c2d74661fc667eb97336
5 years ago
Richard Fuchs
bd53179cd1
TT#100200 properly support multiple supplemental codecs
...
Change-Id: I643fa844b504bf1264d6d2cddebf6d6602c80b35
5 years ago
Richard Fuchs
e16cb57a3e
TT#98901 don't trigger DTX after a SSRC switch
...
Change-Id: Ic1664b3162b5e2caf7b6119ccb5863ad03cf2768
5 years ago
Richard Fuchs
17e22ade36
TT#98901 add limit to length of DTX processing
...
Change-Id: I6fba28b985ff63de6185dccc2ca16f4264a0493d
5 years ago
Richard Fuchs
bae79d3fef
TT#98901 handle AMR SID DTX
...
Change-Id: I418c43e0cef2a70143010235988523f195a3bf5a
5 years ago
Richard Fuchs
fa64e2261e
TT#98901 add codec timers thread
...
Change-Id: If50d2d42ce918961588dfc79793a26ba15416991
5 years ago
Richard Fuchs
6ae33a4b85
TT#98901 split out ssrc locking
...
Change-Id: I7275a25598be6b9a07364573d687fa478addaa4d
5 years ago
Richard Fuchs
014173dc5c
TT#98901 allow packet handler func to consume packet
...
Change-Id: Ic73b1bdab1205d2f3feefe48d83e0ca7e81a726d
5 years ago
Richard Fuchs
d78be3997b
Merge branch 'master' of https://github.com/smititelu/rtpengine into master
...
Change-Id: Id3b571931e4fdb35d7889aa186b46ed967e2f157
5 years ago
Stefan Mititelu
cf1721c930
Fix compilation when transcoding disabled
5 years ago
Richard Fuchs
74fd959ccc
TT#92250 use matching output codec with inject-DTMF
...
Change-Id: I220947872303c534368363e8f980b94bd7d406a5
5 years ago
Richard Fuchs
2502b44ff8
TT#92250 keep supp codecs last when transcoding in reverse
...
Change-Id: I20d9b6e54c38ab92dcbe4e706ed04bca7145c373
5 years ago
Richard Fuchs
4c773366f3
TT#92250 use correct size when freeing codec tracker
...
closes #1091
Change-Id: I10c0cd5449811fafd76415c3d73d845c03a3b26c
5 years ago
Richard Fuchs
3893069fae
TT#92250 allocate strings for hash table storage
...
closes #1091
Change-Id: Ia3384fc3eb640bb6c728ebde6e7bde09968eeb9a
5 years ago
Richard Fuchs
18a3b9df0f
clean up codec stats on shutdown
...
Change-Id: Iac082cda84c62be4a340448ef7c97c2f94e2992f
5 years ago
Richard Fuchs
68ccc52b2b
TT#92250 postpone codec_tracker to final stage
...
Change-Id: I222f705e53fc95f56da40cf927197afcb2ee5107
5 years ago
Richard Fuchs
dbd817a2a6
TT#92250 match codec params during codec matchup
...
Change-Id: Ie1d6ee0d3e55098497d250eb465228c3982f3a4c
5 years ago
Richard Fuchs
ea1ba5837c
TT#92250 also honour single-codec for reverse transcoded codecs
...
Change-Id: I9f2822e70688716e06380879622db4087c02bbb9
5 years ago
Richard Fuchs
653b09ca93
TT#92250 add `single codec` flag
...
Change-Id: I7c84e1f906fec93ed624d2fb4a4d9e9bfc9b4109
5 years ago
Richard Fuchs
241c78c915
TT#92250 add codec-except option
...
Additionally allow `except` and `offer` (and `transcode`) to revert
masked codecs.
Also adds `mask=full` and `strip=full`
closes #1054
Change-Id: I93a2891f2a0b9d324f6804e38f992be73c46211a
5 years ago
Richard Fuchs
2ce7b6476e
TT#92250 better handle supplemental codecs
...
Change-Id: Id6bac3892642d6ae58c71a1781b5d282c48a3a1c
5 years ago
Richard Fuchs
5ac91499fe
TT#92250 keep supplemental codecs last in list when transcoding
...
Change-Id: I3172414fd724e5c5fe9d69b5a78270bed41f83b6
5 years ago
Richard Fuchs
a69a27ec32
TT#91003 copy codec options from decoder to encoder side
...
Change-Id: I4adaff2bc26f789a028b0db9ad3d641811b94961
5 years ago
Richard Fuchs
ed9de316c7
TT#91003 support sending CMR
...
Change-Id: Ief485087b36ce61c80f9d004e77113b31298b250
5 years ago
Richard Fuchs
48d4dc3f7b
TT#91003 support passing extra codec options
...
Change-Id: I8e994f69d4ffc21ab5ab6e8c269e266cb1635b79
5 years ago
Richard Fuchs
6fc9459016
TT#91003 handle AMR CMR
...
Change-Id: I9fdb58359c25b3fcedf25872c98ac8ff582fa488
5 years ago
Richard Fuchs
d0db2cba67
TT#91003 create generic decoder event callback
...
Change-Id: Ie0deda4f452cfc2b219dcc2c5bc1e933b1a36239
5 years ago
Richard Fuchs
25609f74da
TT#91003 support `=` escapes in codec strings
...
Change-Id: Id974f40e12b33e1f299fac15e25decd741c98fb3
5 years ago
Richard Fuchs
ae5b1762b9
TT#88603 don't remove transcoded codecs we added ourselves
...
closes #1058
Change-Id: I469b8e71d5a699c948a30cb2171467c267eec741
5 years ago
Richard Fuchs
38bb6d8608
TT#82651 same as 61acd9761
but in reverse
...
closes #1005
Change-Id: I9107b6de0d4d16347bbf35baafcc298d43f87a68
5 years ago
Richard Fuchs
61acd97619
TT#82651 avoid unnecessary transcoding when DTMF PT is present
...
reported in #1005
Change-Id: I7aefab7fbdca5ddff7012adc2c0a0d8a5b1f6f26
5 years ago
Richard Fuchs
a0d0733291
fix compilation when spandsp is not present
...
closes #1008
Change-Id: I9bcad5f04df0f11cc269345e803aa31440600e77
5 years ago
Richard Fuchs
64e6bf440b
TT#82203 add detailed transcoding stats
...
Change-Id: Ib04767c38b00b17ef5844a9f6649e009270f8f82
5 years ago
Richard Fuchs
2e4617ff86
TT#78307 move SSRC send stats to actual point of sending
...
Change-Id: I54ff4afeb8b3a205a678e9102fb0d8cedee78bae
5 years ago
Richard Fuchs
1055a1e71e
TT#79351 detect and fix payload type collisions
...
fixes #963
Change-Id: I938b1c4b9baed37caf718f7537bbb9c11f7b91e5
5 years ago
Richard Fuchs
d611bbbb74
TT#78501 add T.38 options
...
Change-Id: I4f173f384db18e832c1d24a7015a836ec4215a96
5 years ago
Richard Fuchs
cc7a9a5de8
TT#78307 clean up debug/log messages
...
Change-Id: I8e10be7f297480c01a213c89f06ee93a2215767f
5 years ago
Richard Fuchs
dfae8d6a22
TT#78201 add symmetric-codecs flag
...
closes #953
Change-Id: I848f501709f48927a7156033ccd42eacd742e2d8
5 years ago
Richard Fuchs
d872802ba2
TT#76711 T.38 <> audio gateway
...
Change-Id: I4552e07eee632fa730745410b08c3bf70ab67ab2
5 years ago
Richard Fuchs
468fca8ead
TT#76711 error-proof codec_handler_free()
...
Change-Id: Iaaf67bc21bcb904096a30497e817f5527fdf074d
5 years ago
Richard Fuchs
20607bbabc
TT#76711 generalise media_player mechanism
...
Change-Id: I940bd8c156691418ee0fe7743e9fade59ba8635a
5 years ago
Richard Fuchs
0dc052e2cc
TT#76711 globalise ensure_codec_def function
...
Change-Id: I2183ed5c7882b3e8909584425b1a37dd7da36124
5 years ago
Richard Fuchs
570ad9427d
TT#76711 add handler functions for enc/dec packet
...
Change-Id: I59b26793f233dde367cbe895f36642ebf58a7ab9
5 years ago
Richard Fuchs
9ff3d666b8
TT#76711 split out common parts of codec_handlers_update
...
Change-Id: I3d6d8364d797e14df9dd55a284096038872cca2c
5 years ago
Richard Fuchs
de69c5ed1f
TT#76711 split codec_handler_get for different protocols
...
Change-Id: I67573100108aedb1c8e7fc5920682a7872fd10c2
5 years ago
Richard Fuchs
d847d26e0b
TT#76711 convert codec handlers hash table to direct hash
...
Change-Id: Ieeb8183cd8041a10e311fb4f2fe6b92bbc5ad8bb
5 years ago
Richard Fuchs
be9caa37c7
also check for the output encoder
...
noticed through #941
further fix for 088c58d
Change-Id: I555d1d55d00124c75aa053c4c95abfd98d1ae44f
5 years ago
Richard Fuchs
ab53fdc6f6
Merge branch 'jb_new' of https://github.com/balajeesv/rtpengine
...
Change-Id: I73fc3529938bf65e40f86a4e526c8bf77e199492
5 years ago
Richard Fuchs
088c58d88d
avoid calling a non existant encoder
...
fixes #925
Change-Id: I4743f0e87234fe3ddeb36b7355dcf80f651996c3
5 years ago
Richard Fuchs
7ea6389c56
compile fix for with_transcoding=no
...
closes #927
Change-Id: I0f53f31dce31990d999516173be4b483d90b4021
5 years ago
Richard Fuchs
38792c00a5
TT#75352 don't attempt to send uninitialised packets
...
This can presumably happen when an encoder gets re-initialised due to an
SSRC table overflow, or when a passthrough encoder (e.g. G.729) returns
no data.
Possibly fixes #915
Change-Id: Ib351054b99754f46d0a8fb2d49629ce7c48dc964
5 years ago
Richard Fuchs
7e0b2c4ac3
TT#75352 add a storage container for codec handlers
...
The hash table cannot be used for storage any more as entries can be
removed on demand (64e56d7
) but can be cached in packet->handler at the
same time.
Possibly fixes #915
Change-Id: Ic74703b1a57294bfd704b6cddcd666d6063f510a
5 years ago
Richard Fuchs
18634c4202
TT#74301 refactor send_timer into generic timer
...
Change-Id: I81dae7ae8bb1bfe0324f9a8ce256cf9d1c377840
5 years ago
Richard Fuchs
1c72636983
TT#73401 remove useless assertion
...
Change-Id: Iba2597ad3138ef5b3b4199d2d436c3cbd7b9bd76
5 years ago
Richard Fuchs
64e56d774b
TT#73401 handle changes in RTP payload types
...
A client can potentially change the codec used for a RTP payload type
number, so we must confirm that an existing handler matches the codec
from the SDP.
fixes #903
Change-Id: Id9ae379425359f776883d6ace7fdb44ad651b37e
5 years ago
Richard Fuchs
2b87948014
fix compilation for with_transcoding=no
...
closes #884
Change-Id: I70492beed191de9ae7167990ee275c0eecc9bd80
6 years ago
Richard Fuchs
228d822a71
TT#68100 set iLBC encoder and decoder options
...
required to distinguish between 20-ms and 30-ms modes, both for encoding
and decoding
add support for the iLBC mode= format parameter and dynamic mode
switching
closes #854
Change-Id: Icb6f0ec80df86d27681c689c168b24f163a2db06
6 years ago
Richard Fuchs
3bf3982de1
TT#65052 support queuing up multiple DTMF events
...
Change-Id: I489194212a46d12761b3fdc1e212c78254b91427
6 years ago
Richard Fuchs
65fb99b31d
TT#66650 fix some SSRC refcount leaks
...
closes #841
closes #838
Change-Id: If96a3295ecc504c5e94eb113063cc20da7fb541e
6 years ago
Richard Fuchs
b14f3b2b1c
TT#64259 support injecting DTMF tones and events
...
Change-Id: I07aa7690146db5b41be479a67aaafbd66aec4033
6 years ago
Richard Fuchs
68d909c5ea
TT#64259 add functions to skip decoded samples and return encoder PTS
...
Change-Id: I9b4f39e214bf6ecb7ae25a8b3cc726041d6552c0
6 years ago
Richard Fuchs
35740cda35
TT#64259 add function to inject DTMF events
...
Change-Id: Ie84e2e8cad11e686c6e7010ca78ecba37c5dbf7e
6 years ago
Richard Fuchs
fd16bf5104
TT#64259 make DTMF detection switch explicit
...
instead of using the output DTMF payload type implicitly
Change-Id: Ib0882534d6e46759e9e5e1feb4a919fa6a9cd437
6 years ago
Richard Fuchs
ef20e021cd
TT#64259 split up codec handlers function
...
Change-Id: I09ef471d2500a098466bd546a197c08f6fc12ff9
6 years ago
Richard Fuchs
344b3b9e17
TT#64300 don't attempt to transcode to an unsupported codec
...
Change-Id: Ib4bad65472139f214bbb3896c1f9df29cc8e140e
6 years ago
Richard Fuchs
166aaa0c71
fix compilation for with_transcoding=no
...
closes #789
Change-Id: Ia0a50f77ae25b8af5e387d40b2b570285836e32d
6 years ago
Richard Fuchs
f960799cdd
TT#59703 add build test for dtmf_rx_fillin()
...
closes #787
Change-Id: I26ec7ebef74dad03192019b788e7c7ae17715783
6 years ago
Richard Fuchs
7ad9906178
TT#59650 fix DTMF related core dump when repacketising
...
Change-Id: I77b84c4b47ee41702b076a8a2f3259dc853654f1
6 years ago
Richard Fuchs
910c03fa62
TT#58660 PCM to RFC DTMF transcoding
...
Change-Id: Iea6a11c0caad1f5e7dcca966101e2969d3516b6f
6 years ago
Richard Fuchs
c0781e5193
TT#58659 RFC DTMF to PCM transcoding
...
Change-Id: I32fa876940131e3a18f611e2a518f7acd1327665
6 years ago
Richard Fuchs
194c9e482f
TT#58659 add optional encoder detour
...
If multiple codecs are encoding to the same destination codec, make them
all use the same encoder context
Change-Id: Iaf9b248f9fd2016fef2b576d24d3fba557d7c1f5
6 years ago
Richard Fuchs
db507468de
TT#59100 support case insensitive codec names
...
closes #775
Change-Id: Id54309bf0920e731ad42fb09b078580090f6f82e
6 years ago
Richard Fuchs
94f3c0eff7
TT#58659 remove redundant source PT definition
...
Change-Id: I399487120a7ed2eef39b8b0e3c113d62d5937903
6 years ago
Richard Fuchs
5acbf1ec87
TT#58659 always use the correct codec handler per packet
...
In case of out-of-sequence queued-up packets, the codec handler in use
was the one from the last packet delivered to the sequencer, which might
be a different one from the one needed for each packet coming out of the
sequencer.
Change-Id: Id7fb21328f7d181244a9be2ae5ff13cb6bad31b7
6 years ago
Richard Fuchs
9917e65599
fix division by zero for dtmf in some cases
...
closes #730
Change-Id: Ic917cc21d5c9a2012ae59d8c9c323114074fb300
6 years ago
Richard Fuchs
fb76ef74f8
TT#54800 fix ptime overrides
...
Adds a new option ptime-reverse to complement setting of ptime towards
the offerer. This and ptime setting are now ignored in answers.
Change-Id: Icbc04f191cbc194b75b72a97832fcaba58feb10e
6 years ago
Richard Fuchs
dc9f99763a
TT#54800 sequencing fixes
...
fixes incorrect seq when packets are consumed, as well as incorrect seq
for out of order packets
Change-Id: I0e2117ab68ccf5d0fa63b395a059aeb992f7dd13
6 years ago
Richard Fuchs
e1825e3577
TT#50652 ensure consistent RTP timestamp across media restarts
...
Change-Id: I96b72dd13c13728b4f401f42951fbc231cc36705
6 years ago
Richard Fuchs
8d9a0d247c
TT#50652 remove already enqueued packets when media is stopped
...
Change-Id: I0fd2a7100d331d341518888d2c591dbf84b2599d
6 years ago
Richard Fuchs
7e85d1a935
TT#50652 keep existing SSRC context when starting another playback
...
Change-Id: Ia4e64c39f870d0481847a67dd9c8dac1531e822d
6 years ago
Richard Fuchs
831946a8d4
TT#50652 fix compilation for with_transcode=no
...
Change-Id: Ie65827be7e27a6f77019a983a1ce131c11b694d3
6 years ago
Richard Fuchs
3bdad88063
TT#50652 create timer to gradually send packets without jitter
...
Change-Id: I5b28f7514f54c6df9f3ee607e3bca76274b431b3
6 years ago
Richard Fuchs
8874b4a31f
TT#50652 use random RTP TS when playing back media
...
Change-Id: I7b97877b0c6b7119cbfc6865f947895168af18fc
6 years ago
Richard Fuchs
92b08d899c
TT#50652 add media playback capability
...
Change-Id: I935812639e4f42cd89c4ecf02f5ae1a9a8243a65
6 years ago
Richard Fuchs
3374254899
TT#50652 split out codec payload type init function
...
Change-Id: Ifd71439179925961f25c828132d7afb207a4f344
6 years ago
Richard Fuchs
8f3c309c7f
fix always-transcode not being honoured when only codec-mask was used
...
reported in #664
Change-Id: I2cdfe405c61d48513a01393c5306fe4c875325ee
6 years ago
Richard Fuchs
6092c91ae4
TT#50652 fix possible sequencing bug while resampling
...
Change-Id: I5e0baec70892cbef9a9a036285379fe75ee3eba0
6 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
6 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
6 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
6 years ago
Richard Fuchs
0bf3eab4d6
convert codec ops to no-op for legacy control protocols
...
fixes #652
Change-Id: Ie6bc6529e43e3027cdcfc6cb22275b8b0145b69a
7 years ago
Richard Fuchs
326c6a5818
TT#43557 augment DTMF blocking to support directional blocking
...
Change-Id: I5d77b437fe746ac5f3b6c15d327755f9349b61d8
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
d4afb14e11
fix DTMF packet allocation size
...
probably fixes #583
probably fixes #587
probably fixes #585
probably fixes #594
Change-Id: I6147acd4c539065142d15ce12b1a33993e1c0bec
7 years ago
Richard Fuchs
d26b11ffb0
fix compilation for with_transcoding=no
...
Change-Id: Ibb63f51b909052d81ebf1865335a428a421d856e
7 years ago
Richard Fuchs
08fc00906d
fix segfault with DTMF logging and implicit payload types
...
fixes #571
Change-Id: Id2b575ff555d7968006309bcb5b5d6bbac2ed1e7
7 years ago
Richard Fuchs
a9ec666cb4
TT#38350 implement sending DTMF events to syslog
...
Change-Id: I82fbdc7da6cbe2505ef1c98dd3c45b63c4461994
7 years ago
Richard Fuchs
dd34574669
TT#38350 keep track of the most used RTP payload type
...
Instead of just remembering the last seen RTP payload type, this adds a
tracker that keeps track of the last 32 seen payload types and keep the
list in order of how often each type was seen.
Change-Id: I062a43b7bfc9413b755dca548d72953ff8245477
7 years ago
Richard Fuchs
4eb80da836
compile fix for with_transcoding=no option
...
fixes #568
Change-Id: I97fba6bb767a572d6b701e274176913270e55f16
7 years ago
Richard Fuchs
bfac341aec
shut down transcoding engine when it's not needed
...
closes #562
Change-Id: I3c96cdcdeea8ee815f0ae7e40a4caccbfee9977e
7 years ago
Richard Fuchs
8562bdee70
support new `asymmetric codecs` flag
...
Change-Id: I244b3576be19658ecc2af353e427e95aea4fca70
7 years ago
Richard Fuchs
f1b81b649e
simplify parameters passed to codec_rtp_payload_types()
...
Change-Id: I8a9147bb527b3084ed9f4acfa82868fc26b0d8c2
7 years ago
Richard Fuchs
e404f18975
TT#37157 fix missing G722 RTP TS output scaling
...
fixes #560
Change-Id: Ief961a1f0e3d7fb1bd07e79eab1ceb54b5d131be
7 years ago
Richard Fuchs
95a7cc6cfb
eliminate redundant function argument
...
Change-Id: I5bff4436072c2855590e08d90c5098af3abceb93
7 years ago
Richard Fuchs
2f5d792aae
TT#36301 add `always-transcode` flag
...
closes #527
Change-Id: I0d8192cf93c49823f35a6307ccd8c77842fb51dd
7 years ago
Richard Fuchs
5c3d39748b
TT#35456 fix regression from 895fa9605
...
Adding a fixed length to the size of the buffer requested from the
packetizer was wrong, as this is not just the length of the working
buffer but also the size of the buffer to be returned for sample stream
(PCM) codecs. Instead, use the codec definition's bit per sample spec
to make AMR provide a larger buffer than the bare frame.
Change-Id: Ibff59b21d491e3327cc9e907e6515379a8ca9188
7 years ago
Richard Fuchs
7de16e104c
TT#14008 fix codec mask logic if no masking info is present
...
fixes a glib warning
Change-Id: I8c79231e52a88b9fd2af7c3acf1be6b994e86876
7 years ago
Richard Fuchs
895fa96054
TT#35456 implement RFC 4867
...
Fixes AMR transcoding. Some features yet unsupported.
Fixes #498
Change-Id: I1075a539a7a7dab9106df9ef49b8bda2484b97ec
7 years ago
Richard Fuchs
bf66d7caf7
eliminate stray glib warning
...
Change-Id: Ib7bf097274fc9e9ab760bcc0552534e0da5a9129
7 years ago
Jerzy Ptak
a44a9bf9f0
fixing memory leaks
7 years ago
Richard Fuchs
14100b0b8a
use reference counting on SSRC objects
...
possibly fixes #488 and #482
Change-Id: Ib68e456b9322836b153c9fd0e59c3556378557ae
7 years ago
Richard Fuchs
32e0e2cf25
leave room for SRTP auth tag on transcoded packets
...
closes #480
Change-Id: I353b2da1f52974d93c20f0ab4be25b9baa41765c
7 years ago
Richard Fuchs
0db5e226e5
fix payload type tracking for transcoding situations
...
closes #476
Change-Id: I6a038136e22b23efe422eb40caa0f3e10359e5d1
7 years ago
Richard Fuchs
65c75c5177
fix segfault regression from 7b65dedb
...
Change-Id: I38f4b39b34c72ca2a9b70fae4eaac6bf27286312
7 years ago
Richard Fuchs
7ee73fe7f9
special handling for strip=all together with transcode, and mask=all
...
Change-Id: I1c54d3491149adacdb11675054f823eca576d707
7 years ago
Richard Fuchs
7b65dedb95
restructure codec_make_payload_type to fix compilation w/o transcoding
...
closes #468
Change-Id: I5f8c5e318e8726bddd69120e258c7d5bb0ee3687
7 years ago
Richard Fuchs
4d586f2ec0
TT#28163 fix recording-daemon sample format selection for mixed output
...
reported in #462
Change-Id: Iea7f1e421d15375768a1f76dd36e5ef7726f66b8
7 years ago
Richard Fuchs
bc30929192
TT#32210 add codec masking option
...
Change-Id: I05f2bde978f628d398dd8046815fcfc3d5b42de2
7 years ago
Richard Fuchs
9147d5e438
TT#32983 support transcoding options in redis (re)store
...
Change-Id: I8552743a5ec48b6d4464e8a2c4acd1c9bf11f02a
7 years ago
Richard Fuchs
65d4106d98
add missing header files to fix compilation
...
closes #457
Change-Id: Iaa26da810fa11adb970ae25409ade4ad29712200
7 years ago
Richard Fuchs
25037a92ac
TT#31197 G.729 packetizer
...
Change-Id: If5c87dc08e5ffa8c85e024c5d091f7fce7f84cec
7 years ago
Richard Fuchs
9eb9a2f421
TT#31197 include bcg729 build support
...
Change-Id: I3862c0b9b8010699e6a49f749b38568d08103840
7 years ago
Richard Fuchs
83784d492c
TT#31197 separate out libavcodec specifics
...
Change-Id: I4f389226320fd8a7930168a4fb885ba214759743
7 years ago
Richard Fuchs
61d5505740
TT#31199 set bitrate for G.723.1
...
Change-Id: Ia82411c9205d63b2d63e40ece480b1d42b53b152
7 years ago
Richard Fuchs
0636b083dc
TT#31700 implement payload-type specific passthrough kernel forwarding
...
Change-Id: I14d33b976933e8198720c1323e38af85f4f6eed7
7 years ago
Richard Fuchs
126a69f29c
TT#28163 logging and documentation improvements
...
Change-Id: Ib82b80c9ddcf557cd5ab6f99e693a5234471b1ac
7 years ago
Richard Fuchs
10c852b204
TT#31950 add compile-time switch to disable transcoding features
...
Change-Id: Ice0c019b8a07d4c941d14f47021dbb7b0eb68d3c
7 years ago
Richard Fuchs
2a4acf5e29
TT#31403 handle passthrough payloads in a transcoding context
...
Change-Id: I45001272a735847973a6261b899e5acd0687ccef
7 years ago
Richard Fuchs
6988b2361e
TT#31403 keep track of stats required for RTCP translation/output
...
Change-Id: Ib7ff1643c90423ffec95b378b4e9fca0000ee4ae
7 years ago
Richard Fuchs
613f7afdb6
TT#31403 map and replace RTCP SSRCs when transcoding
...
Change-Id: I765f1972e4b4d10d48e10a9e14e451edd48ca836
7 years ago
Richard Fuchs
5d67605535
TT#31403 decouple RTCP AVPF filtering from crypto stuff
...
Change-Id: I99b2b5720f1012b59be90e110b6ed7902826a861
7 years ago
Richard Fuchs
368312a4f5
TT#31403 keep local packet stats for RTCP output/rewriting
...
Change-Id: Ib086bbacf5613e1480bfb9050612163152e24b28
7 years ago
Richard Fuchs
159729ad0d
TT#31403 move SSRC mapping out of codec handler
...
Change-Id: Id5babcef6440f40e45e7e23afc54398a39093a3f
7 years ago
Richard Fuchs
7986ca0860
TT#30900 support specifying codec parameters for transcoding
...
Change-Id: Ifac093cfba74a7cfdf1ba22209d608e04fed8c10
7 years ago
Richard Fuchs
a4a0e34ded
TT#31408 distinguish between codec types
...
Change-Id: I8c7331908fe4a105d9f9139a5f9867b6ae43a646
7 years ago
Richard Fuchs
2e43b47305
TT#31409 check codec support only once during startup
...
Change-Id: I8eacd1f62cc1273707b4c4d1046918225e1b6957
7 years ago
Richard Fuchs
71b3762f13
TT#30901 use hash table to look up RFC specified codecs
...
Change-Id: I471dc77d0c4bdbdf66dc4b021d77202ec0ddbb39
7 years ago
Richard Fuchs
266a1fbc8b
TT#31404 support custom ptime and repacketization for sampled codecs
...
Change-Id: I4db83cb8faa9b0234dd655f4bdc116a3ddb59f39
7 years ago
Richard Fuchs
c380052882
TT#31401 configure encoder bitrate
...
Change-Id: I96e14285b4e6235451ef55dfdfd0fec9f7364096
7 years ago
Richard Fuchs
c6c79f49b8
TT#31198 flush encoder queue on shutdown to avoid warnings
...
Change-Id: Ic4a99083f22d8d2c87edb28539d6e325cbdb34b4
7 years ago
Richard Fuchs
1746f1d3bf
TT#31405 handle non-media pseudo-codecs (telephone-event)
...
Change-Id: I10a0156d500f49941d7d3d558e54e3c198638c4a
7 years ago
Richard Fuchs
ad4a5d10ef
TT#31198 add resampling support
...
Change-Id: Ib691e62d9ff6fc5663cea275663efc9134d78188
7 years ago
Richard Fuchs
2d2f2e394b
TT#31198 support output codec clockrate multiplier (for G722)
...
Change-Id: I189d6fb17850bccdbe1a6910f68fb2d0fab2c331
7 years ago
Richard Fuchs
7c6db89889
TT#28163 don't reset transcoding context when not necessary
...
Change-Id: I28b230df7308b3ed1fd359265220c3df07178e5a
7 years ago
Richard Fuchs
14c3cd8ab1
TT#28163 support transcoding to non-RFC codecs
...
Change-Id: Ia4edff27be74e0f8eb8f41cf0a7a1dd3c9e9896a
7 years ago
Richard Fuchs
b0bc679806
TT#28163 take number of channels from SDP into account
...
Change-Id: Icd393535702355d7dfc90c81fe62286eb50deb63
7 years ago
Richard Fuchs
df537b98c3
TT#28163 pass encoded packets back to processing for sending out
...
Change-Id: Icdd49d174336277dae0c2c79854fc4e3b42a5c44
7 years ago
Richard Fuchs
dc80c27af7
TT#28163 split encoder from recording daemon into shared lib
...
Change-Id: I76a744b1b1acd32f326d26db7a44273394a4dee1
7 years ago