Richard Fuchs
1bc15de746
TT#14008 prevent possible NULL dereference
...
closes #1434
Change-Id: I21fa86b0410f86cd6d77951cff75c5eb03da38e9
3 years ago
Richard Fuchs
3582b623a9
TT#136957 DTMF delay support
...
Change-Id: I62dce272a1acc0a9a3b6b8c37df68a18357dbee4
3 years ago
Richard Fuchs
9da5a46fcb
TT#136956 support DTMF-security=random
...
Change-Id: I4100c1511be743901d302491238872990f213118
3 years ago
Richard Fuchs
320642ddf2
TT#136956 support DTMF-security=tone
...
Change-Id: Ide898f68d788f39674b8fdb4f4edb0aa14e0884b
3 years ago
Richard Fuchs
a1a0b03ab9
TT#136956 refactor DTMF frequency generator code
...
Change-Id: Ibcecc6dd04971e575747e3609f01858435351d92
3 years ago
Richard Fuchs
3a63929ca1
TT#91151 ignore Opus format for comparison purposes
...
This is a stub until a proper format comparison can be added, for at
least Opus and AMR
Change-Id: Ib25f79b492f227c78dd59a4d00220d17b15a40c7
4 years ago
Richard Fuchs
413798e43f
TT#132251 implement media silencing
...
Change-Id: I0902bd72e2733b96ff75bcf52856a58c51a750f6
4 years ago
Richard Fuchs
6e160da497
TT#14008 move avpkt alloc to encoder_new
...
If encoder_config errors out for some reason, avpkt may end up
uninitialised. Make sure there is an avpkt when flushing/closing the
encoder. Also make the encoder input more resilient against
half-initialised encoders for the same reason.
closes #1312
Change-Id: I44ebcf6e35f1c383aa5c8202b5d9bbf968b0d5f1
4 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
4 years ago
Nathanaël Semhoun
c76b0b7ef6
Fix G729 packet duration
...
Without this correction, timestamp is not incremented in case of transcoding
4 years ago
Richard Fuchs
b110072ae4
TT#14008 deprecate av_init_packet
...
Recent ffmpeg versions have removed AVPacket from the public ABI,
therefore deprecating av_init_packet on statically allocated objects.
The replacement is av_packet_alloc()/av_packet_free().
Change-Id: I5f93fbd19e43413c3328e143cc9147fbdf12d910
4 years ago
Richard Fuchs
b734fc080e
TT#14008 fix integer handling (overflow/sign) issues
...
Warned-by: coverity
Change-Id: Ia473075046253b2ffcf65344f65469772e6df993
4 years ago
Richard Fuchs
c7431aa846
TT#122401 disable sample filter for CN resampler
...
Change-Id: I42085cc7952d86f2da1efa2d29ea85321b001da4
4 years ago
Richard Fuchs
d4fbec39d1
TT#122401 return ptime from decoded packets for DTX
...
Change-Id: I382b842406fbee73ec752f6f4f0832736222ef52
4 years ago
Richard Fuchs
64670ffb61
TT#122401 add option to bypass AMR SID
...
Change-Id: I0504d452737573f388941dcca507e3adfd5744c6
4 years ago
Richard Fuchs
ec68dfeb31
TT#122401 add configurable CN method
...
Change-Id: I2aa9901b2a9dcf64563a84d77fa40d23b6c25525
4 years ago
Richard Fuchs
7e24a7e4c8
TT#122401 add CN DTX method
...
Change-Id: I03c977e10f9bdad284dbafb048b2a19d798957e5
4 years ago
Richard Fuchs
dc38a0e88e
TT#122401 support multiple DTX method per codec
...
Change-Id: I775d56e675255b3dca4227779d1146d8c8806f06
4 years ago
Richard Fuchs
11988524ab
TT#122401 add generic silence DTX generator
...
Change-Id: I673c1115b6678842d7d49febea3c4ecbb67f534a
4 years ago
Richard Fuchs
5d5098efde
TT#122401 keep track of decoder's output format
...
Change-Id: Ib55ba9787b07885cfc9544f93749710ce8cafc91
4 years ago
Richard Fuchs
da06ed217b
TT#122401 add ptime to DTX trigger
...
Change-Id: I96aabff398cbe296243d8bdf7499468c6da96352
4 years ago
Richard Fuchs
7c3982ea11
TT#122401 rename "lost packet" functions to DTX
...
Change-Id: Ie39ff68eb0be8bf77f1b6c213df837c08fc869b7
4 years ago
Richard Fuchs
b1409e58e1
TT#122401 correct ptime handling for negative values
...
Change-Id: I3ca96971ec20aa02deb80d2d9613bbaa33c3ae05
4 years ago
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
5 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