Guillem Jover
adbd071c14
TT#111150 Do not use old-style declarations
...
Change-Id: I08a702ebfbcc5d3ac1dca284abdaa3f6567b9272
Warned-by: gcc -Wold-style-declaration
4 years ago
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
4 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
4 years ago
Guillem Jover
648e74fd39
TT#108003 Handle unsigned wrap around in amr_encoder_mode_change()
...
We only do 1 decrements/increments so the check for the upper-bound will
always catch any downward wrap-around or an upward out-of-bound.
Change-Id: Ibdb9a69e1a55f34ffca56721c310efc505b86f99
Warned-by: coverity
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
25d90cea0d
TT#98901 keep track of head PTS in packetiser
...
Change-Id: I3439318037da535701f84b070b107ae19ca3e261
4 years ago
Richard Fuchs
ade5c47b02
TT#98901 wire up codeclib debug output
...
Change-Id: I5daf59fe8218c2ff25d4baac79ba802f101d6279
4 years ago
Richard Fuchs
30733ec5cd
TT#97301 support granular log levels
...
Change-Id: Ife458bd2449f61113a3e6db1708821570d92dc23
4 years ago
Richard Fuchs
c5667e3bf7
TT#100200 add CN decoder
...
Change-Id: Ic4ff122745569e3892f1a95fedb36ce9d2495349
4 years ago
Richard Fuchs
bae79d3fef
TT#98901 handle AMR SID DTX
...
Change-Id: I418c43e0cef2a70143010235988523f195a3bf5a
5 years ago
Richard Fuchs
c3ebbc4b43
TT#98901 add decoder_packet_lost() and callbacks
...
Change-Id: I782b79ac02238ae7bc52bf05ced4318aa14d6164
5 years ago
Richard Fuchs
ee74914b22
TT#92250 ignore format parameters for DTMF codec
...
closes #1098
Change-Id: I180667a7c5fa9da8a95d99826cb3fc4006598976
5 years ago
Richard Fuchs
2ce7b6476e
TT#92250 better handle supplemental codecs
...
Change-Id: Id6bac3892642d6ae58c71a1781b5d282c48a3a1c
5 years ago
Richard Fuchs
0222936981
TT#91003 handle NO_DATA frames from AMR encoder
...
Change-Id: I437ae1a8b2ee440a12caccf8cfae486b90aa00c3
5 years ago
Richard Fuchs
c89208bf68
TT#91003 skip empty keys in key=value list
...
Change-Id: I148295796d23a3a48d5fe06bce690c96a2137f4c
5 years ago
Richard Fuchs
cd5cd8483b
TT#91003 add `mode-change-interval` AMR option
...
Change-Id: I08d54cf5c17c1d1d66218cdb9c06aa5ac9bb6837
5 years ago
Richard Fuchs
1020bcb80d
TT#91003 honour AMR mode change restrictions
...
Change-Id: I632f27c7068f3b7f6f3648992fcc6e5b5d65a29a
5 years ago
Richard Fuchs
ed9de316c7
TT#91003 support sending CMR
...
Change-Id: Ief485087b36ce61c80f9d004e77113b31298b250
5 years ago
Richard Fuchs
c239035057
TT#91003 abstractise ffmpeg av_opt setting
...
Change-Id: I9de54c7c64b771bafccc8e4ffd638c4cbd1314d5
5 years ago
Richard Fuchs
0918ea2c84
TT#91003 abstractise fmtp key-value parsing
...
Change-Id: Icf5a0d68e1c3d669c395e36c3a0a57b15301e30a
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
23b1aaea10
TT#91003 support AMR mode-set option
...
Change-Id: I9926e940d7e77d869b2ebdd975417745d42ec1fd
5 years ago
Richard Fuchs
f48929fe68
TT#91003 fix AMR fmtp parsing
...
Change-Id: I0259292f7150a639b79dae4ce11c54ff5a5d6ee8
5 years ago
Richard Fuchs
829e9cb3a1
TT#91003 use preferred AMR codecs
...
Change-Id: Ib5146cec9fbd0e86a72306ad13c519ab05d3d92b
5 years ago
Richard Fuchs
055ac56cc0
TT#91003 use separate encoder and decoder names
...
Change-Id: Ibfb3f7dccf7cb0057784545100c9e5cf961f2378
5 years ago
Stefan Mititelu
8ba5d162dd
Fix Valgrind "still reachable" for a few others
...
log, ice, media_player, jitter_buffer,
statistics, codeclib, call_interfaces
5 years ago
Richard Fuchs
35899ec27b
TT#78900 move codec_get_type into global context
...
Change-Id: I12868ecca93ff6e3ffe7129c42aec415ad5f58ec
5 years ago
Richard Fuchs
d872802ba2
TT#76711 T.38 <> audio gateway
...
Change-Id: I4552e07eee632fa730745410b08c3bf70ab67ab2
5 years ago
Richard Fuchs
51147da508
explicitly advertise annexb=no for G.729
...
closes #936
Change-Id: I087b0e82d49317906273bc5b7e2c488750702680
5 years ago
Guillem Jover
137c5df644
TT#71950 Fix typos
...
Change-Id: I79991a30bd8459485ea76dad541bda27daf9bfea
5 years ago
Richard Fuchs
7a28b972c0
TT#69700 don't compensate for TS gaps with a 1-second delay
...
fixes #861
Change-Id: Id7bf8ab28e92e6e509e47a65304058d77f4b261f
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
c8338a4372
TT#64050 add `G729a` as an incorrect alternative to `G729`
...
Workaround for a bug in certain phones
Change-Id: I3203ce9d1992146c38b826dd96a962e6673915c7
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
ca30ecaa3d
correctly set frame_duration option for Opus
...
closes #779
Change-Id: I134734319b60d38b60f0e9e7779a5e5e433a79d8
6 years ago
Richard Fuchs
db507468de
TT#59100 support case insensitive codec names
...
closes #775
Change-Id: Id54309bf0920e731ad42fb09b078580090f6f82e
6 years ago
Richard Fuchs
5308208ee4
further rate limiting for log messages from libav
...
Change-Id: If19d736df87286559d4d3c0dfdda0a81d6c4d5cc
6 years ago
Richard Fuchs
ac825cc47a
TT#56553 fix double G.722 sample rate issues
...
Fixes missing RTP TS rescaling
Fixes double clock rate adjustment
Fixes sequencer not releasing packets after seq reset
Fixes #748
Change-Id: Ic6021ab6fd781cd291c0aba3e03633f565908c29
6 years ago
Richard Fuchs
e1e6fd4297
TT#50652 add explicit libav error reporting
...
Change-Id: Ib4bc3e89e54a1d4478dd32f7947dadeb262c18ec
6 years ago
Richard Fuchs
c7051fcffb
TT#50652 use hash table for AVCodec ID lookup
...
Change-Id: I716a7640ceed6dd3ba459688e9f89d2ef8f76f16
6 years ago
Richard Fuchs
7cc530905a
TT#50652 add support for 8-bit unsigned PCM
...
Change-Id: I8a75c81ee90c2593a24367f86107863cfd5f680f
6 years ago
Richard Fuchs
92b08d899c
TT#50652 add media playback capability
...
Change-Id: I935812639e4f42cd89c4ecf02f5ae1a9a8243a65
6 years ago
Richard Fuchs
e3ec97f858
TT#50652 add -Wstrict-prototypes everywhere
...
Change-Id: Ic5b5fcb892a8f70196478f8622d956bdea373422
6 years ago
Richard Fuchs
1129676528
TT#50652 fix typo
...
Change-Id: I95f0ea46e00938a44e49413f416432835ee5e088
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
3b28460507
TT#52651 Squashed commit of the following:
...
commit 2029144368
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 21 13:12:50 2019 -0500
TT#52651 switch TCP to TLS
Change-Id: Iab6b05d3b5c88553cbd6f531f3189084d9e71995
commit b28e718ee4
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Fri Feb 22 09:20:54 2019 -0500
TT#52651 generalise streambuf interface
Change-Id: I7d5ab8ffe13e52d4dbb1901531cc13fcc173d60d
commit cb2dbd2a92
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 19 09:32:56 2019 -0500
TT#52651 add start/stop forwarding commands and party selection logic
Change-Id: I8ef7e288d3a3e485bd2fa14e1a2407a0c8d94bac
commit 442c48f627
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 14 15:43:23 2019 -0500
TT#52651 produce output for TCP forwarding feature
Change-Id: I18543921577faf655679829684f5af46c0af5054
commit 2ef8028eb2
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Thu Feb 14 10:18:21 2019 -0500
TT#52651 make recording to output files optional
Change-Id: I12c288b965641352658ce3b499c2ee90593e1322
commit 10a58cd7a0
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 13 16:02:16 2019 -0500
TT#52651 strip streambuf into lib and include in recording daemon
Change-Id: I1f6638961e9e767063e0b4e6b5d55d88799366d3
commit 9d3bb5bffc
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Wed Feb 13 15:40:12 2019 -0500
TT#52651 extract/move unrelated old legacy decoder struct members
Change-Id: Iffd79b43180c30a9e128a460f7ba85ba49dedeaf
commit 1bc38e4201
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 12 16:43:42 2019 -0500
TT#52651 config options for forwarding option
Change-Id: Ieaa2ee0e55a0c531158174bc6a534738a64dbee6
commit 06d61cd3dd
Author: Richard Fuchs <rfuchs@sipwise.com>
Date: Tue Feb 12 16:29:52 2019 -0500
TT#52651 move socket.[ch] into lib/
includes necessary re-shuffling of additional code pieces
Change-Id: I74b314ab5936ac8a0eeaff94e084617b59b28d79
Change-Id: I025e8ec86b90ede79565542dff57ec1559d04200
6 years ago
Richard Fuchs
343da336dd
fix default AMR bitrate
...
reported in #681
Change-Id: I8292f08920601e25f178594e9b40e40264ca4261
6 years ago
Richard Fuchs
60bd4a681e
clarify output of --codecs for codecs lacking RTP support
...
fixes #655
Change-Id: Ie51453487763809ff872fb4524cdfd27a56ff5e4
7 years ago
Richard Fuchs
c074319623
TT#46052 rate-limit certain log messages related to de/encoding
...
closes #625
Change-Id: Ia6e812322129db8be0d242a9ce8c37b730deeb11
7 years ago
Richard Fuchs
a9ec666cb4
TT#38350 implement sending DTMF events to syslog
...
Change-Id: I82fbdc7da6cbe2505ef1c98dd3c45b63c4461994
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
93555d76d0
eliminate another deprecation warning for newer ffmpeg
...
Change-Id: I6fd8384c16a3f9f26c15c902e012a8226f228ebf
7 years ago
Richard Fuchs
10d9acda3f
ffmpeg: handle some API changes for release/4.0 master
...
closes #534
Change-Id: I02ca8e2e3cbe6193705b34f6f2df09205b283022
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
ce44eaf1d3
fix RTP timestamps in G.729 decoder
...
also fixes SRTP auth tag passed to transcoder
closes #501
Change-Id: I2253d1372784d0332b8449f8fb8087a2f7e4c699
7 years ago
Hugh Waite
565ed98bfb
Fix AMR-WB codec initialisation
7 years ago
Richard Fuchs
6b88fc9e3a
avoid segfault when an encoder could not be opened
...
closes #473
Change-Id: Ie800c3682be58ab93178bceb9e952f26cb0d0e25
7 years ago
Richard Fuchs
7c36492021
TT#28163 fix recording-daemon sample format selection
...
fixes #462
Change-Id: I9ab8340a2552ed4e3c946b085b2f87cc0f90722c
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
126a69f29c
TT#28163 logging and documentation improvements
...
Change-Id: Ib82b80c9ddcf557cd5ab6f99e693a5234471b1ac
7 years ago
Richard Fuchs
caf7350d6b
TT#26752 enable GSM and iLBC codecs
...
Change-Id: I7eaea5b568d6a28bf20443656c20fe4807bdbdf2
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
368312a4f5
TT#31403 keep local packet stats for RTCP output/rewriting
...
Change-Id: Ib086bbacf5613e1480bfb9050612163152e24b28
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
ff0a46a053
TT#30901 convert codec list to hash table
...
Change-Id: I0956b441101b4c33e0f186399ef5558f89744e12
7 years ago
Richard Fuchs
82e0c55aae
TT#31409 TT#31408 TT#30901 eliminate silly codec def macros
...
Change-Id: Iab6b735728319210d6c8e45ef14c2044cab44525
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
5c05c88ac4
TT#31198 handle RTP seq and TS resets
...
Change-Id: I853059769e5277391c3ff5c0f13e164d4dc53d4c
7 years ago
Richard Fuchs
fcf593d401
TT#31400 add encoding support for AMR and AMR-WB
...
Change-Id: I89cc14c0956900d44c6e5e1cbea0f1de4112dab1
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
14c3cd8ab1
TT#28163 support transcoding to non-RFC codecs
...
Change-Id: Ia4edff27be74e0f8eb8f41cf0a7a1dd3c9e9896a
7 years ago
Richard Fuchs
dc80c27af7
TT#28163 split encoder from recording daemon into shared lib
...
Change-Id: I76a744b1b1acd32f326d26db7a44273394a4dee1
7 years ago
Richard Fuchs
a967f9dcbb
TT#28163 abstractize packet sequencer and move to lib
...
Change-Id: I7bfa0f6e223bfe21c0e155a159fc4d125117bc3b
7 years ago
Richard Fuchs
f8aad04948
TT#30404 move portions required for decoding from recording-daemon to lib
...
Change-Id: I4170dd3c93ca3c87954d2c1db5fd84ae071247bd
7 years ago
Richard Fuchs
d510f5efe8
TT#30404 initial support for adding codecs for transcoding
...
Change-Id: I58474ac2daee213d9f11157f61c2a3df90818fbe
7 years ago