87 Commits

Author SHA1 Message Date
Anthony Minessale
b353922488 FS-9352 #resolve [ptime adjust issues on opus] 2016-07-14 17:54:59 -05:00
Anthony Minessale
50d7a80fa3 FS-9136: allow multiple instances of same video codec with different fmtp 2016-06-03 16:16:32 -05:00
Anthony Minessale
fe6182260b FS-9013 #resolve [Add vad talk time logging channel vars] 2016-03-31 19:25:56 -05:00
Anthony Minessale
ddd7fa3c03 FS-8975 #resolve [DTMF variables not functioning] 2016-03-23 09:55:43 -05:00
Anthony Minessale II
360cee1a70 Merge pull request #737 in FS/freeswitch from ~CARLOSP/freeswitch:bugfix/FS-8910-sdes-not-properly-negotiated-when to master
* commit '8fa947aa19a9c6e202ab644975be39b966f6201c':
  FS-8910: Properly negotiate SDES when receiving SDP with a=crypto:0
2016-03-09 00:40:38 -06:00
Anthony Minessale
68588e811f FS-8914 #resolve [recording mp4 cuts off the end in some cases] 2016-03-08 18:53:55 -06:00
Carlos Perez Alcaraz
8fa947aa19 FS-8910: Properly negotiate SDES when receiving SDP with a=crypto:0
When receiving an SDP with a=crypto:0 with the wanted crypto suite, we should
maintain that crypto tag in the local SDP in order for SDES setup to succeed.
2016-03-08 12:10:43 +01:00
Anthony Minessale
b7227465b6 FS-8909 #resolve [Add feature to play background video while recording inbound video] 2016-03-07 19:59:10 -06:00
Anthony Minessale
6334e1ce39 FS-8864 #resolve [Improve video file playback] 2016-02-26 15:28:03 -06:00
Anthony Minessale
f96e016135 FS-6544 2016-02-05 11:56:44 -06:00
Anthony Minessale
56a68e3ad9 FS-8677 #resolve [Crash (possible memory corruption) after codec change] 2016-01-06 10:10:14 -06:00
Anthony Minessale
aa0b28e235 WIP not shabby auto vid settings 2015-11-06 14:01:54 -06:00
Anthony Minessale
43ef01fbbe correct version of proposed patch 2015-09-23 11:58:57 -05:00
Anthony Minessale
8a0366b999 FS-8130 running out of witty commit msgs 2015-09-21 14:08:38 -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
c727b985eb FS-7908 FS-7092 refactor #comment test 2015-07-30 18:11:13 -05:00
Anthony Minessale
7c94fc1680 play video files for hold_music
squashme
2015-06-13 16:18:45 -05:00
Anthony Minessale
8aea72c825 FS-7602 FS-7499 FS-7587 modify dtls init function placement 2015-06-04 20:37:15 -05:00
Anthony Minessale
c9065a85b6 FS-7602 add some of 3b2d00f3e65061393da10a4ba286ac72cdb3c16e from verto to sip and refactor some code to keep sip working like verto 2015-06-02 21:20:03 -05:00
Anthony Minessale
3b2d00f3e6 FS-7587 Add ipv6 support to Verto / Websockets 2015-06-01 13:39:47 -05:00
Anthony Minessale
3e24ac5e6b FS-7501: add auto sync of jb and fps detection 2015-05-28 12:47:18 -05:00
Anthony Minessale
7c294f242f FS-7504: allow <modname>.<codecname> support so multiple modules can exist for the same codec 2015-05-28 12:47:13 -05:00
Anthony Minessale
fdcfcaece9 FS-7500: don't wait for video ready from inside video thread that sets that flag 2015-05-28 12:47:11 -05:00
Anthony Minessale
24254bb1fd FS-7500: revert 2015-05-28 12:47:11 -05:00
Anthony Minessale
d3359ff9f0 FS-7500: don't wait for video ready from inside video thread that sets that flag 2015-05-28 12:47:11 -05:00
Anthony Minessale
a42f40f938 FS-7514 FS-7505: clean up more from yesterday 2015-05-28 12:47:06 -05:00
Anthony Minessale
a63dab7a4a FS-7503 FS-7514: A bunch of stuff:
Get filehandles working with video in some cases (if using vlc://):
    mod_conference for play and record video (will record the canvas in mix mode or floor holder in non-mix mode)
    regular playback app should be able to play vlc streams

Add no-minimize-encoding member flag so particilar memebers can opt out of that setting and still get their own encoded stream (for bw related needs)

TODO:

  mod_vlc is a mess.  Find a way to merge video_context and file_context.  They are very similar and they are intertwined and messy.
  Find out why vlc creates messed up mp4 files that don't play everywhere
  Get VLC so it can record aac, mp4x webm
2015-05-28 12:47:06 -05:00
Anthony Minessale
4bcc6e6d64 FS-7503 FS-7514: First crack at recording mp4 <action application="capture_video" data="vlc://#transcode{vcodec=h264,acodec=mp3}:std{access=file,mux=mp4,dst=/var/www/sounds/file.mp4}"/> 2015-05-28 12:47:05 -05:00
Anthony Minessale
628edd1183 FS-7513: add code to track media direction to avoid assigning floor or video layers to those with no signal 2015-05-28 12:47:03 -05:00
Anthony Minessale
fcf32fd53d FS-7500 FS-7513: add video bandwidth control function and use it in mod_conference 2015-05-28 12:46:58 -05:00
Anthony Minessale
4d100bc2e8 FS-7509: stop media on verto detach 2015-05-28 12:46:55 -05:00
Anthony Minessale
2ea12656ea FS-7500: improvement for conf vid 2015-05-28 12:46:49 -05:00
Anthony Minessale
01fda5748c FS-7500: another round of trying to make things work 2015-05-28 12:46:48 -05:00
Anthony Minessale
0cd5658caa FS-7500: another refactoring pass, temp code still in place, WORK IN PROGRESS 2015-05-28 12:46:44 -05:00
Anthony Minessale
659c1e474e FS-7500: Work in progress. Added codec config params that can be set from session and made vpx codec re-init on size change. Also add periodic key frame timer 2015-05-28 12:46:44 -05:00
Anthony Minessale
365a5dd820 FS-7500: major refactoring pass. Push concepts from mod_vlc as deep as possible and flesh out api to use everywhere else. Round 2 will be to convert the bridge and other places using the same code 2015-05-28 12:46:44 -05:00
Anthony Minessale
765fff3d75 FS-7500: add support for codec control and use it to pass messages down to the codec and use it to implement keyframe reset for fir, pli and nack. Later we will expand to handle nack correctly. 2015-05-28 12:46:44 -05:00
liyang
90818f137e FS-7500: allow using the video thread externally - e.g. non rtp based video 2015-05-28 12:46:42 -05:00
Anthony Minessale
2c92ef31e3 FS-7386
Conflicts:
	src/switch_core_media.c
2015-03-26 23:52:53 -05:00
Seven Du
dd629c1516 add external_video_source to media handle and expose switch_core_media_start_video_thread() to start the core video thread for non-rtp based media 2014-11-12 08:44:20 +08:00
Anthony Minessale
d1e529aefd Add new hard_mute control to allow apps to request low level mute e.g. from the rtp stack level. Its used in mod_conference to avoid reading audio while muted and possibly reduce some transcoding load 2014-10-27 15:13:42 -04:00
Anthony Minessale
789e1481ed FS-6880 #resolve #comment I would think that in real life once the call agreed on a codec it would only offer the negotiated codecs but we can fix this to always filter for good measure. I am not sure what the ramifications are of filtering responses but I think this patch will do so as well. 2014-10-01 13:03:50 -05:00
Anthony Minessale
24084adf77 %FEATURE Add new feature to filter the SDP on bypass_media calls to remove or limit codecs.
VARIABLE: bypass_media_sdp_filter

Can be set globally or per leg on the inbound side of a bypass_media bridge.

VALID FILTERS:

remove(): Removes the specified codec if it exists in the SDP.
only():   Removes all codecs besides the one specified (providing that it exists in the sdp) (will not remove telephone-event))

EXAMPLE 1 (remove everything leaving only g729):

  <action application="set" data="bypass_media_sdp_filter=only(g729)"/>
  <action application="set" data="bypass_media=true"/>
  <action application="bridge" data="sofia/internal/1238@conference.freeswitch.org"/>

EXAMPLE 2 (remove everything leaving only g729 and also remove dtmf):

  <action application="set" data="bypass_media_sdp_filter=only(g729)|remove(telephone-event)"/>
  <action application="set" data="bypass_media=true"/>
  <action application="bridge" data="sofia/internal/1238@conference.freeswitch.org"/>

EXAMPLE 3 (remove alaw and speex):

  <action application="set" data="bypass_media_sdp_filter=remove(pcma)|remove(speex)"/>
  <action application="set" data="bypass_media=true"/>
  <action application="bridge" data="sofia/internal/1238@conference.freeswitch.org"/>
2014-10-01 01:28:10 +05:00
Giacomo Vacca
9215c93827 FS-6785 - pass and use sample rate in switch_core_session_get_payload_code() 2014-09-08 14:26:58 +00:00
Anthony Minessale
c375e336bc add debugging 2014-06-13 06:06:14 -04:00
Anthony Minessale
4ffbf23ffa stereo refactoring 2014-06-13 01:49:16 -04:00
Anthony Minessale
a7b9329a08 FS-6446 regression fixed 2014-06-02 19:09:48 -05:00
Anthony Minessale
bedf8327b6 FS-6418 FS-6427 add profile param NDLB-proxy-never-patch-reinvites to solve both issues 2014-05-21 03:31:50 +05:00
Anthony Minessale
e5b291514c FS-5755
rtp_secure_media=mandatory
rtp_secure_media=optional
rtp_secure_media=mandatory:AES_CM_256_HMAC_SHA1_80,AES_CM_256_HMAC_SHA1_32
rtp_secure_media=optional:AES_CM_256_HMAC_SHA1_80
rtp_secure_media=forbidden

true implies mandatory
false implies forbidden
not set implies optional

rtp_secure_media_inbound or rtp_secure_media_outbound take precedence and are treated the same way based on leg direction
2014-03-06 07:34:47 +05:00
Anthony Minessale
5646957c5b FS-5937 2014-02-26 04:06:59 +05:00