70 Commits

Author SHA1 Message Date
Mike Jerris
822e5a7b96 Merge pull request #516 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:opus-fec-detect-improvement to master
* commit '8b088c26fbf4eba3daaacfaa6e29ab765f7321ba':
  FS-8243: Improve the way FEC info is detected within frames (added support for ptimes higher than 20 ms for FEC detection ) (Claude Lamblin)
2015-10-02 12:50:34 -05:00
Corey Burke
0641315ef6 Use use-dtx setting from config in request to callee. 2015-10-02 08:13:05 -07:00
Anthony Minessale
ead42d56b5 FS-8179 #resolve [mod_opus: improvement on new JB buffer debugging (debug lookahead FEC)] 2015-10-01 19:12:03 -05:00
Dragos Oancea
30847cf76b FS-8256: mod_opus: more FMTP cleanup 2015-09-30 14:35:45 -04:00
Dragos Oancea
8b088c26fb FS-8243: Improve the way FEC info is detected within frames (added support for ptimes higher than 20 ms for FEC detection )
(Claude Lamblin)
2015-09-29 18:35:47 -04:00
Anthony Minessale
7ea9b684a7 FS-8204 add sprop-stereo also 2015-09-22 15:31:20 -05:00
Mike Jerris
e7d11375ad Merge pull request #451 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:opus_repacketize_refactor to master
* commit '753213b7459000e8aa1c8aa170d04b9371c6f629':
  FS-8080: mod_opus: fine-tune FEC with repacketization (ptimes: 80 ms,100 ms,120 ms)
2015-09-17 11:33:51 -05:00
Dragos Oancea
de67b09e80 FS-8179: mod_opus: improve JB debugging with FEC 2015-09-17 10:05:00 -04:00
Dragos Oancea
753213b745 FS-8080: mod_opus: fine-tune FEC with repacketization (ptimes: 80 ms,100 ms,120 ms) 2015-09-17 05:20:39 -04:00
Anthony Minessale
d57ab43f32 FS-8130 code error 2015-09-16 17:05:00 -05:00
Anthony Minessale
0f490fdab1 FS-8130 add support for timestamp based counting for jitter buffer in audio mode 2015-09-15 14:59:11 -05:00
Anthony Minessale
eea76c8856 FS-8130
Port video buffer to also support audio and remove original STFU jitter buffer
Add some more resilience to video packet loss
Add codec control mechanism for both call-specific debug and codec/call specfic params
Make opus function better in packet loss and latent situations
Use new codec control prams to make JB lookahead FEC optionally enabled or disabled mid-call
Add Param to allow JB lookahead to be enabled.
2015-09-14 13:30:08 -05:00
Anthony Minessale
c195ee4c60 FS-8130 don't set packet loss percent 2015-09-11 11:37:01 -05:00
Brian West
1fd9198c15 FS-8144 readability and code formatting cleanup of mod_opus whiel reviewing PLC/FEC bug and document missing options from opus.conf.xml 2015-09-09 12:48:41 -05:00
Mike Jerris
403c1735e5 FS-7966: fix more msvc 2015 warnings. 2015-08-31 17:47:57 -04:00
Mike Jerris
2e3e09cb38 FS-7966: fix more msvc 2015 build warnings. 2015-08-31 13:26:36 -04:00
Dragos Oancea
ecabfc7f9a FS-8005: mod_opus : fix for rare decoder error when doing PLC, OPUS_GET_LAST_PACKET_DURATION might return 0 2015-08-19 14:34:51 -04:00
Norm Brandinger
47f7f45acc FS-7952 mod_opus: remove duplicate test/set of sprop-maxcapturerate 2015-08-10 17:10:34 -05:00
Dragos Oancea
566a1491e3 FS-7848 : mod_opus: Add ptimes: 80 ms, 100 ms, 120 ms (Opus repacketize) 2015-07-21 17:13:16 -04:00
Mike Jerris
0b097dd597 Merge pull request #346 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:opus-sprop-stereo to master
* commit '37dc3929df76b2fbca1569ff3416b191a213029c':
  FS-7829: mod_opus: add sprop-stereo fmtp param (just read it)
2015-07-14 12:53:41 -05:00
Mike Jerris
3b10e4d9f2 Merge pull request #347 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:opus-dtx to master
* commit 'dc6d7c32dd433735dcc1f20a50fdebffe71817fa':
  FS-7830: mod_opus: added use-dtx param in config file (enables DTX on the encoder, announces in fmtp)
2015-07-14 12:52:39 -05:00
Dragos Oancea
65135c5f40 FS-7832: fixes when comparing local and remote fmtp params 2015-07-13 19:54:11 -04:00
Dragos Oancea
dc6d7c32dd FS-7830: mod_opus: added use-dtx param in config file (enables DTX on the encoder, announces in fmtp) 2015-07-13 18:12:11 -04:00
Dragos Oancea
37dc3929df FS-7829: mod_opus: add sprop-stereo fmtp param (just read it) 2015-07-13 17:40:34 -04:00
Brian West
7e660ea856 Merge pull request #341 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:opus-keep-fec-on-improve to master
* commit '244331aa1536a0dad2cc115757fc5507446e1b00':
  FS-7819: mod_opus: restore bitrate after increase (if there's no more packet loss) , added step for 60 ms
2015-07-10 10:57:36 -05:00
Dragos Oancea
244331aa15 FS-7819: mod_opus: restore bitrate after increase (if there's no more packet loss) , added step for 60 ms 2015-07-10 11:35:27 -04:00
Mike Jerris
72c5d6fa3f Merge pull request #338 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:opus-ptime-60ms-support to master
* commit '76bdd2b0d57e63a0d59bf78088af25ec733b7426':
  FS-7809: mod_opus: added 60 ms ptime for Opus at 8 khz  ( opus@8000h@60i )
2015-07-09 11:11:36 -05:00
Dragos Oancea
76bdd2b0d5 FS-7809: mod_opus: added 60 ms ptime for Opus at 8 khz ( opus@8000h@60i ) 2015-07-09 11:53:37 -04:00
Dragos Oancea
be6e6ea5fb FS-7801: mod_opus: added support to set CBR mode 2015-07-08 20:03:54 -04:00
Mike Jerris
5b76e4ade9 Merge pull request #327 in FS/freeswitch from ~DRAGOS_OANCEA/freeswitch-dragos:opus-keep-fec-on to master
* commit 'b3f453b02f62da450681c4b584bda838134c1317':
  FS-7772: mod_opus: add functionality to keep FEC enabled on the encoder by modifying the bitrate if packet loss changes (Opus codec specific behaviour).
2015-07-07 11:13:57 -05:00
Dragos Oancea
12d240308c FS-7785: mod_opus: fix for invalid ptime 30 ms for opus@8000h . Replaced 30 ms with 40 ms. 2015-07-07 07:59:17 -04:00
Dragos Oancea
b3f453b02f FS-7772: mod_opus: add functionality to keep FEC enabled on the encoder by modifying the bitrate if packet loss changes (Opus codec specific behaviour). 2015-07-06 18:27:37 -04:00
Michael Jerris
434d39d450 FS-7660: [mod_opus] cleanup issues from inital commit of opus_debug command 2015-06-18 17:34:59 -04:00
Dragos Oancea
595bba201b FS-7660: mod_opus: add function to show information about Opus payload (number of frames, number of samples per frame, audio bandwidth, FEC info). Enabled with new API command "opus_debug". 2015-06-17 18:23:31 -04:00
Dragos Oancea
fe29cc6885 mod_opus : asymmetric sample rates based on fmtp params (maxplaybackrate and sprop-maxcapturerate) 2015-06-11 19:32:30 -04:00
Michael Jerris
20f9b5c046 FS-7601: [mod_opus] remove a bounds check that can never be true in opus fec code 2015-06-09 14:43:01 -04:00
Brian
6bb8ee321a FS-7601 improve opus packet loss routines #resolve 2015-06-05 18:11:20 -05:00
Brian
22335d212d FS-7601 allow setting the packet loss percentage on the encoder from the opus.conf.xml file 2015-06-04 15:57:33 -05:00
Anthony Minessale
5c5b53a453 FS-7601 #resolve 2015-06-04 15:01:36 -05:00
Michael Jerris
e21a423d9f FS-7436: [mod_opus] fix the plc counter to actually count 2015-06-02 13:23:43 -04:00
doancea
bd3589a2fb FS-7436: added FEC support for mod_opus
You need an enabled jitter buffer for FEC to work.
If a packet is missing we look in the jitter buffer for the next one,
if the next packet is present we pass it to the decoder to extract
the FEC info from it. If there's no FEC inside the packet, the Opus decoder
will return PLC.
2015-06-02 18:36:36 +02:00
doancea
8d98bc27ef FS-7462: fix FMTP in the INVITE - make it use values from opus.conf.xml 2015-06-01 12:45:19 -05:00
doancea
ccbef9e0c7 opus@8000h : with this change there RTP timestamps will be incremented with 960 (20 ms ptime) - per RFC , and the frame size will be 160 samples. 2015-05-11 16:48:49 +02:00
Anthony Minessale
1f5e5abbed fix frame size for encoder 2015-03-12 23:58:14 -05:00
Anthony Minessale
e268a72603 FS-6994 #resolve 2014-12-12 17:52:02 -06:00
Julien Chavanton
826d428741 FS-6992 [mod_opus] global configuration or maxplaybackrate and maxaveragebitrate
from opus.conf.xml
2014-11-14 10:31:32 +01:00
Julien Chavanton
0eefdca47b FS-6947 Opus RTP payload fmtp settings ( maxaveragebitrate / maxplaybackrate ) 2014-11-12 17:51:56 +01:00
Anthony Minessale
f85c82446c FS-6949 #resolve 2014-10-28 14:19:06 -05:00
Anthony Minessale
eeedb8683e the other way works better revert 91ffe171b6e76f60f1e94f148176ce8556d460e6 to use high quality on stereo calls 2014-10-02 10:41:59 -05:00
Anthony Minessale
91ffe171b6 use OPUS_APPLICATION_VOIP always to get FEC and filtering 2014-10-01 18:33:33 -05:00