Richard Fuchs
3582b623a9
TT#136957 DTMF delay support
Change-Id: I62dce272a1acc0a9a3b6b8c37df68a18357dbee4
4 years ago
Richard Fuchs
9da5a46fcb
TT#136956 support DTMF-security=random
Change-Id: I4100c1511be743901d302491238872990f213118
4 years ago
Richard Fuchs
320642ddf2
TT#136956 support DTMF-security=tone
Change-Id: Ide898f68d788f39674b8fdb4f4edb0aa14e0884b
4 years ago
Richard Fuchs
a1a0b03ab9
TT#136956 refactor DTMF frequency generator code
Change-Id: Ibcecc6dd04971e575747e3609f01858435351d92
4 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
5 years ago
Nathanaël Semhoun
c76b0b7ef6
Fix G729 packet duration
Without this correction, timestamp is not incremented in case of transcoding
5 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
5 years ago
Richard Fuchs
b734fc080e
TT#14008 fix integer handling (overflow/sign) issues
Warned-by: coverity
Change-Id: Ia473075046253b2ffcf65344f65469772e6df993
5 years ago
Richard Fuchs
c7431aa846
TT#122401 disable sample filter for CN resampler
Change-Id: I42085cc7952d86f2da1efa2d29ea85321b001da4
5 years ago
Richard Fuchs
d4fbec39d1
TT#122401 return ptime from decoded packets for DTX
Change-Id: I382b842406fbee73ec752f6f4f0832736222ef52
5 years ago
Richard Fuchs
64670ffb61
TT#122401 add option to bypass AMR SID
Change-Id: I0504d452737573f388941dcca507e3adfd5744c6
5 years ago
Richard Fuchs
ec68dfeb31
TT#122401 add configurable CN method
Change-Id: I2aa9901b2a9dcf64563a84d77fa40d23b6c25525
5 years ago
Richard Fuchs
7e24a7e4c8
TT#122401 add CN DTX method
Change-Id: I03c977e10f9bdad284dbafb048b2a19d798957e5
5 years ago
Richard Fuchs
dc38a0e88e
TT#122401 support multiple DTX method per codec
Change-Id: I775d56e675255b3dca4227779d1146d8c8806f06
5 years ago
Richard Fuchs
11988524ab
TT#122401 add generic silence DTX generator
Change-Id: I673c1115b6678842d7d49febea3c4ecbb67f534a
5 years ago
Richard Fuchs
5d5098efde
TT#122401 keep track of decoder's output format
Change-Id: Ib55ba9787b07885cfc9544f93749710ce8cafc91
5 years ago
Richard Fuchs
da06ed217b
TT#122401 add ptime to DTX trigger
Change-Id: I96aabff398cbe296243d8bdf7499468c6da96352
5 years ago
Richard Fuchs
7c3982ea11
TT#122401 rename "lost packet" functions to DTX
Change-Id: Ie39ff68eb0be8bf77f1b6c213df837c08fc869b7
5 years ago
Richard Fuchs
b1409e58e1
TT#122401 correct ptime handling for negative values
Change-Id: I3ca96971ec20aa02deb80d2d9613bbaa33c3ae05
5 years ago
Guillem Jover
adbd071c14
TT#111150 Do not use old-style declarations
Change-Id: I08a702ebfbcc5d3ac1dca284abdaa3f6567b9272
Warned-by: gcc -Wold-style-declaration
5 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
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
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
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
25d90cea0d
TT#98901 keep track of head PTS in packetiser
Change-Id: I3439318037da535701f84b070b107ae19ca3e261
5 years ago
Richard Fuchs
ade5c47b02
TT#98901 wire up codeclib debug output
Change-Id: I5daf59fe8218c2ff25d4baac79ba802f101d6279
5 years ago
Richard Fuchs
30733ec5cd
TT#97301 support granular log levels
Change-Id: Ife458bd2449f61113a3e6db1708821570d92dc23
5 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
6 years ago
Richard Fuchs
35899ec27b
TT#78900 move codec_get_type into global context
Change-Id: I12868ecca93ff6e3ffe7129c42aec415ad5f58ec
6 years ago