Commit Graph

91 Commits

Author SHA1 Message Date
Seven Du 7dd872e9b8 FS-9575 #resolve [Add MRCP] 2016-09-27 16:41:04 -05:00
Anthony Minessale c409499cd9 FS-9576 #resolve [Add Realtime Text] 2016-09-27 16:40:43 -05:00
Anthony Minessale 2e3227b50f FS-9422 #resolve [Freeswitch Exit/Crash on SDP Negotiation] #comment renegotiate-codec-on-hold renegotiate-codec-on-reinvite are both removed in this commit 2016-08-12 14:10:23 -05:00
Anthony Minessale f43522877c FS-9356 #resolve [DTMF not recognized when coming from a Cisco SIP trunk] 2016-07-18 11:11:32 -05:00
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 3b2d00f3e6 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