2568 Commits

Author SHA1 Message Date
Anthony Minessale
be21d4f28f FS-7500: use unsigned int for frame->timestamp 2015-05-28 12:46:50 -05:00
Anthony Minessale
970064294c FS-7500: refactoring 2015-05-28 12:46:50 -05:00
Anthony Minessale
2ea12656ea FS-7500: improvement for conf vid 2015-05-28 12:46:49 -05:00
Anthony Minessale
853873725b FS-7500: factor out the write_image callback and fix the vlc video endpoint to setup and match the audio params of the A leg when bridged 2015-05-28 12:46:48 -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
b90d24a05f FS-7513: fix video switching in conference 2015-05-28 12:46:48 -05:00
Anthony Minessale
b8ba1a1469 FS-7500: reduce CNG frames on video and move debug from mod_fsv to the core with a flag to enable it since the raw packet is not available anymore when you set DECODED READ flag 2015-05-28 12:46:47 -05:00
Anthony Minessale
4dc155f164 FS-7500: add switch_core_session_raw_read to put session into raw read mode without needing a local codec var (WE SHOULD REFACTOR MUCH OF switch_ivr_* to use this...) and add echo_decode_audio option to echo app 2015-05-28 12:46:47 -05:00
Anthony Minessale
e7d34f3170 FS-7508: tolerate some messed up packets a little more 2015-05-28 12:46:45 -05:00
Anthony Minessale
22020c86cb FS-7500: add SFF_USE_VIDEO_TIMESTAMP to tell video write frame if it needs to use a timer or not for timestamps 2015-05-28 12:46:45 -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
44e7929507 FS-7500: revert earlier bridge change 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
William King
4fc94e3907 FS-7500 S-7513: Few build fixes 2015-05-28 12:46:43 -05:00
Seven Du
35ff4b5cda FS-7500: add ability to insert a custom callback to the core video thread
the callback will be called on each loop on read video frame, or
the callback function call run it's own loop to take over the core
loop so it can read video from session by itself.

the callback function can -

return SWITCH_STATUS_SUCCESS to wait another loop
return SWITCH_STATUS_CONTINUE to continue use the default behaviour
return anything else will break the core video loop and end the
       core thread
2015-05-28 12:46:43 -05:00
Seven Du
ea2f00b3d9 FS-7500: refactor to use switch_core_video
added switch_core_codec_encode_video and switch_core_codec_decode video and add separate video implementations
the switch_core_video code depends on libvpx, wraped into the switch_ namespace like switch_apr, need to figure out how to find the correct libvpx lib in autotools
2015-05-28 12:46:42 -05:00
Seven Du
bcbdf8a347 FS-7500: add switch_core_video code 2015-05-28 12:46:42 -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
Seven Du
998d933671 FS-7500: initial idea to decode video in core 2015-05-28 12:46:42 -05:00
Seven Du
416745e2cd FS-7500: move video bridge logic to switch_core_media so possible to do transcoding 2015-05-28 12:46:41 -05:00
Seven Du
90b654e923 FS-7502: add simple video media bug implementation, should work with .fsv, be sure to set enable_file_write_buffering=false
Conflicts:
	src/include/switch_types.h
2015-05-28 12:46:41 -05:00
Anthony Minessale
d413bcd7b3 FS-7567 #resolve #comment additional occurrences beyond the initial patch discovered 2015-05-21 09:50:49 -05:00
Chris Rienzo
b28f7acac1 FS-7496 Updated mime.types, added switch_core_mime_type2ext function and used it in mod_httapi. Now, file extensions defined in mime.types will be applied if mod_httapi downloads a file without one. 2015-04-30 14:24:41 -04:00
Michael Jerris
b90aa23cbd FS-7488: [mod_managed] fix build error 2015-04-28 11:59:15 -05:00
Anthony Minessale
c56b7da53a copy part of 0e7eb72ca75a3584d203c6464fc8ceaacf79ebae 2015-04-25 13:22:43 -05:00
Anthony Minessale
2c92ef31e3 FS-7386
Conflicts:
	src/switch_core_media.c
2015-03-26 23:52:53 -05:00
Manav Rathi
830bc28c45 FS-7352: Document how to use switch_core_set_variable to delete variables
I had to scan through the source of the function to verify that this
is the indeed the actual behaviour, and that NULL is a valid
argument. By mentioning this in the header, we save posterity that
effort.
2015-03-07 06:59:06 +05:30
Dave Olszewski
2890afc918 FS-7285 allow eavesdrop to bridge only one leg
Add channel variables eavesdrop_bridge_aleg and eavesdrop_bridge_bleg,
and if one is set to true on the eavesdrop channel, bridge that leg from
the target.  If neither is specified, bridge both.
2015-02-14 14:45:15 -08:00
Anthony Minessale
83dd94193d FS-7166 #resolve 2015-01-23 21:16:47 -06:00
Anthony Minessale
76370f4d17 auto urlencode user portion of sip uri 2015-01-23 21:06:02 -06:00
E. Schmidbauer
01dcb74f33 FS-7187 add switch_cache_db_create_schema() to test for SCF_AUTO_SCHEMAS flag 2015-01-22 15:41:22 -05:00
Anthony Minessale
b74448462d FS-7173 #resolve #comment please verify fix in master 2015-01-20 19:55:50 -06:00
Anthony Minessale
e783999b51 some changes to webrtc to make it work with iDoubs in rtcweb profile mode 2014-12-12 20:55:40 -06:00
Anthony Minessale
06c241a233 FS-6891 FS-7002 FS-7059 FS-7072 FS-7073 FS-7076 #close #comment All of these bugs are invalidated due to a botched revert -- commit 72c3df5ed39b724590b5266fb31eea090f56dba7 was supposed to revert commit 1b612fecb6e8db11da9b15c5522b87e7b642423d but it only reverted part of it. commit 158c1f23da9263e0c6aacf6a22e0a504c8909e37 from the other day was erroneously created to work around the result of the botched revert so it is reverted. The result of this commit should be to bring it back to effectively properly revert 1b612fecb6e8db11da9b15c5522b87e7b642423d and now you can test and open new bugs if necessary. This includes the segfault in eavesdrop, and any media bug releated reports. Consider working together and only reporting one new bug if you still encounter any more problems and be sure to include details and make sure the jitter buffer is being used. 2014-12-11 20:57:55 -06:00
Michael Jerris
62a2e10e41 remove hack breaking some cross compile builds. if you really need this, you should be using new enough glibc anyways 2014-11-19 16:06:42 -05:00
Anthony Minessale
df423b88d6 improve timerfd implementation to be more accurate 2014-11-18 17:14:04 -06:00
Michael Jerris
0cf770a836 FS-6996: #resolve fix define change as of glibc 2.20 for _BSD_SOURCE -> _DEFAULT_SOURCE 2014-11-17 09:27:22 -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
Nathan Neulinger
f175c71188 FS-6805 add support for logging full timestamps with dialplan, defaults to old behavior unless requested 2014-11-11 13:25:47 -06:00
Anthony Minessale
5ce5199be9 FS-6969 #resolve #comment This patch should accomplish the same and handle other platforms, please test 2014-11-07 08:38:01 -06: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
Jeff Lenk
e3e267f462 vs2010 trivial compiler warnings 2014-10-14 13:20:52 -05:00
Anthony Minessale
e4e9b1b9f9 have resume media on hold not send invite back out at the holder but rather enable media in the 200ok 2014-10-10 16:09:43 -05:00
Anthony Minessale
6bfc05b81e FS-6887 #resolve #comment new bug flag always_auto_adjust (also implicitly sets accept_any_packets) 2014-10-02 11:55:53 -05: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
Anthony Minessale
92a66fb1e7 improve adaptive jitter buffer ascending check 2014-09-30 22:54:46 +05:00
Michael Jerris
dac4afbfdb this was alraedy in there, whoops 2014-09-28 10:40:57 -04:00