Commit Graph

831 Commits

Author SHA1 Message Date
Anthony Minessale 34238d2bd0 FS-9665 #resolve [Add video_pre_call_banner feature] 2016-10-24 13:36:15 -05:00
Anthony Minessale 11066d5cf4 FS-9654 #resolve [Issue with RTP payload negotiation] 2016-10-20 15:53:39 -05:00
Mike Jerris 0d56945f71 FS-9581: [windows] CF_TEXT is a reserved constant on windows 2016-10-05 11:06:44 -04:00
Mike Jerris 4814cb1e34 FS-9581: [windows] CF_TEXT is a reserved constant on windows 2016-10-05 09:57:31 -04:00
Anthony Minessale 628242fd52 FS-9580 #resolve [RTCP Auto-adjust] %backport=1.6 2016-09-27 23:12:20 -05:00
Anthony Minessale f38dde9fec fix merge 2016-09-27 16:44:25 -05:00
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
Dragos Oancea 0e6e53f15c FS-8644: OPUS_SET_BITRATE(), codec control and estimators for packet loss and RTT (with Kalman filters) to detect a slow or congested link.
Feature enabled with "adjust-bitrate" in opus.conf.xml - it's a feedback loop with incoming RTCP.
2016-09-27 16:06:17 -05:00
Anthony Minessale 6a064a953c FS-9543 #resolve [Add pre-exec state change hooks to core] 2016-09-20 10:57:45 -05:00
Anthony Minessale 8eda172aab FS-9503 #resolve [Add flaws and consecutive_flaws to error_log in rtp] 2016-09-12 12:21:21 -05:00
Anthony Minessale b9733c577c FS-9436 #resolve [RTCP PLI Media Source SSRC wrong after re-INVITE] 2016-08-17 18:22:20 -05:00
Anthony Minessale d9700b36a3 FS-9259 #resolve [Missing "m=image 0" when replying to INVITE with disable image line] 2016-07-18 13:00:00 -05:00
Anthony Minessale b0be5d6737 FS-9267 #resolve [Raw decoded image from vpx codec is corrupted by video media bugs that modify the image] 2016-06-15 21:09:02 -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
Michael Jerris 29263bf7b9 FS-8623: fix sun studio error trying to compile char[] with c++ compiler 2016-04-07 15:11:42 -04:00
Piotr Gregor 73cc5ae3c1 FS-9020 Avmd internal/external channel
Implement checking of proper configuration
of avmd session being started on internal/external
channels. Check for read/write codec, CF_MEDIA_SET.
2016-04-06 17:57:15 +01:00
Mike Jerris a74fc71b67 Merge pull request #687 in FS/freeswitch from freetdm_patch to master
* commit '320d5f2015976fed9ca282dfeeb2bd3e977e6f76':
  Applied the Sangoma patch to FS version 1.2 in order to port to FS v1.6+
2016-04-04 13:51:09 -05:00
Seven Du 0fa449d573 FS-8749 #resolve #comment please test 2016-03-27 16:08:40 +08:00
Anthony Minessale f93668e3fd FS-7800 fix some stuff in multi-canvas 2016-03-18 18:21:25 -05:00
Anthony Minessale f39c9e009b FS-8909 FS-8914 2016-03-09 18:01:13 -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
Anthony Minessale b7227465b6 FS-8909 #resolve [Add feature to play background video while recording inbound video] 2016-03-07 19:59:10 -06:00
Piotr Gregor bfe2ba45ec refactor: fix comments
Simple, independent change with no side effects.
2016-02-03 23:43:20 +00:00
William King 320d5f2015 Applied the Sangoma patch to FS version 1.2 in order to port to FS v1.6+
Sourced from:
http://gitlab.sangoma.com/projects/CORE/repos/freetdm/browse/public_freeswitch/sangoma-FS-1.2.patch
2016-01-26 20:20:34 -08:00
Anthony Minessale II b52a57e751 Merge pull request #620 in FS/freeswitch from feature/FS-8188 to master
* commit 'f917a72c8451416ed992d798cabddee0de5b9b5b':
  FS-8188 add park_after_early_bridge transfer_after_early_bridge variables
2015-12-04 10:09:25 -06:00
Anthony Minessale 860a799c1d FS-8547 #resolve [Add error log into stats to log when quality impacting events begin and end] 2015-11-17 15:09:00 -06:00
Brian West 75b01a306e FS-8130 2015-10-04 16:53:54 -05:00
Anthony Minessale f917a72c84 FS-8188 add park_after_early_bridge transfer_after_early_bridge variables 2015-09-21 18:55:21 -05:00
Anthony Minessale 8a0366b999 FS-8130 running out of witty commit msgs 2015-09-21 14:08:38 -05:00
Anthony Minessale 52afedf23d FS-8053 addtl touchups 2015-09-15 12:14:09 -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 8ee69ead0d FS-8118 #resolve [Verto calls do not properly reject video when video is offered but only audio is accepted] 2015-09-02 18:07:58 -05:00
Anthony Minessale 2feae3fc69 FS-6833 #comment please test this branch 2015-09-01 16:31:23 -05:00
Anthony Minessale 135e8d6d93 FS-8006 #resolve [switch_core_video_thread_callback_func_t is not like other callbacks] 2015-08-19 14:58:13 -05:00
Chris Rienzo 05cc8bb37d FS-7780 add new channel variable max_session_transfers. If set, this variable is used to count
the number of session transfers allowed instead of the max_forwards variable.  If not set, the existing
behavior is preserved.
2015-07-06 15:26:56 -04:00
karl anderson b2b9555d34 FS-7760 #resolve
added xml fetch for channels to externally support nightmare transfer
depends on channel-xml-fetch-on-nightmare-transfer profile param (default is disabled)
2015-07-03 19:28:17 +01:00
Anthony Minessale 385a3b545c FS-7656 fix various edge cases with video and non video files mixed into a source, fix a typo bug in file_read_video and fix same bug in mod_vlc, add a new flag to file_read_video to check if the handle is has active video, make mod_conference move the video in and out of a layer when the stream has video or not 2015-06-19 00:57:02 -05:00
Anthony Minessale 7c94fc1680 play video files for hold_music
squashme
2015-06-13 16:18:45 -05:00
Anthony Minessale 9d40e1397d FS-7641 2015-06-12 15:59:02 -05:00
Brian 6bb8ee321a FS-7601 improve opus packet loss routines #resolve 2015-06-05 18:11:20 -05:00
Anthony Minessale 5c5b53a453 FS-7601 #resolve 2015-06-04 15:01:36 -05:00
Anthony Minessale a8c1341f42 FS-7499 add tmmbr negotiation to sdp 2015-05-28 12:47:32 -05:00
Anthony Minessale 81ef7703bd FS-7500: add video_write_overlay and stop_video_write_overlay
Use it to add an image to the write stream to see a recording banner on video echoed back to you during recording.
ARGS: <file> [<position>] [<opacity 0-255>]

POSITIONS:
left-top
left-mid
left-bot
center-top
center-mid
center-bot
right-top
right-mid
right-bot

<extension name="example">
  <condition field="destination_number" expression="^overlay$">
    <action application="answer"/>
    <action application="video_write_overlay" data="/path/to/img.png"/>
    <action application="record" data="/data/file.mp4"/>
    <action application="stop_video_write_overlay"/>
   </condition>
</extension>
2015-05-28 12:47:32 -05:00
Anthony Minessale 81094b3a0c FS-7499 adding some more refactoring towards better rtcp 2015-05-28 12:47:31 -05:00
Anthony Minessale 4a76c0f8c6 FS-7499 second pass at adding TMMBR (WIP) 2015-05-28 12:47:31 -05:00
Anthony Minessale a8a2c32ac3 FS-7499 FS-7500: combat black screen disease 2015-05-28 12:47:28 -05:00
Anthony Minessale b5b3e58026 FS-7513: refactor main thread a little 2015-05-28 12:47:27 -05:00
Anthony Minessale 7d5b0acc90 FS-7502: add patch level for media bugs to call them as needed 2015-05-28 12:47:24 -05:00
Michael Jerris 857a61318e FS-7507: Add global vars fonts_dir, images_dir, data_dir, localstate_dir
change configure detection to do FHS layout if you specify a prefix, unless --disable-fhs is passed to configure
moved includes to be under /usr/include/freeswitch dir in fhs layout
install font files into fonts_dir
2015-05-28 12:47:21 -05:00
Anthony Minessale 1cbc3c58a5 FS-7502: add record_concat_video=true to show split video recordings with session record 2015-05-28 12:47:15 -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 517a6d4ab7 FS-7503: add video read flags to choose flush and or block mode and add stuff to vlc so it can play youtube urls 2015-05-28 12:47:10 -05:00
Anthony Minessale c9cccd519a FS-7509: add some more bandwidth control features 2015-05-28 12:47:09 -05:00
Anthony Minessale 0d34e8ac77 FS-7500: add a framebuffer to reuse memory and use it to offload frame writing from video muxing thread to a dedicated write thread 2015-05-28 12:47:08 -05:00
Anthony Minessale 78d06832e7 FS-7500: add force flag 2015-05-28 12:47:07 -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 2c4c2587ed FS-7513 FS-7509: crack at screen share 2015-05-28 12:47:03 -05:00
Anthony Minessale 2c1ab14074 FS-7513: add configurable FPS for conf and default to 15 2015-05-28 12:47:02 -05:00
Anthony Minessale 0697db4fb4 FS-7506 FS-7513: set banner with video_banner_text variable set before calling in, NEEDS DOCS params are parsable inside a {} string 2015-05-28 12:46:59 -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 13c3f053ab FS-7500: use the vpx_image_t from the installed header file to prevent mismatch 2015-05-28 12:46:56 -05:00
Anthony Minessale a69938c3d5 FS-7500: factor back in video_thread callback and move it to the video_read_frame 2015-05-28 12:46:53 -05:00
Anthony Minessale bc24e0f28a support AVPF too 2015-05-28 12:46:53 -05:00
Anthony Minessale 836e2b2888 FS-7500: add switch_inthash variety of hash that can key on int 2015-05-28 12:46:53 -05:00
Anthony Minessale 2a50c6d55c FS-7501: use vidderbuffer in rtp 2015-05-28 12:46:52 -05:00
Seven Du a50789f97f FS-7499: magic number to macro 2015-05-28 12:46:52 -05:00
Anthony Minessale 303a4ecf99 FS-7499: move fir and pli into the normal rtcp code so it can be bundled with a report block per the rfc 2015-05-28 12:46:51 -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 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
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 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
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
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 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 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 f924684eff FS-6623 #resolve fix init and logging for rtcp 2014-09-15 20:08:09 +05:00
jchavanton b738775876 [FS-6623] implement RTCP report generation 2014-09-15 20:08:09 +05:00
Travis Cross 3e8e2ce151 Revert commits pushed too early
Revert "depend on fs before install"
This reverts commit 6c52217920.

Revert "removing commented work in progress on SDES and logging tunning on"
This reverts commit 6df5288f5a.

Revert "more formatting and logging tuning"
This reverts commit 0e89bbd033.

Revert "logging adjustment"
This reverts commit 764faad671.

Revert "missing host to network conversion highest_sequence_number_received"
This reverts commit 50c62cdfd7.

Revert "logging correction"
This reverts commit ea973b0b4c.

Revert "[FS-6623] implement RTCP report generation"
This reverts commit 0b7863a9b7.
2014-09-12 17:07:50 +00:00
jchavanton 0b7863a9b7 [FS-6623] implement RTCP report generation 2014-09-12 11:58:53 -05:00
Mike Jerris 60bfa54406 Merge pull request #34 in FS/freeswitch from ~RTRELEAVEN/fs-6773:fs-6773 to master
* commit 'a159b58790cf980df375faa5a55fb713faf257c5':
  fix missing "/" in path
  add support for cache directory make configs use specific directory variables instead of just base_dir so that one configuration can be used for fhs and legacy installations
2014-09-04 14:34:24 -05:00
Seven Du 31f78d8cac add ability to read from a stream
do not use this unless you understand what you are doing and you want to take the risk,
you are warnned
2014-09-04 09:45:16 +08:00
Russell Treleaven ce96d95c5e add support for cache directory
make configs use specific directory variables instead of just base_dir
so that one configuration can be used for fhs and legacy installations
2014-08-31 20:22:08 -04:00
Anthony Minessale 4f1b09a3ca add switch_socket_waitlist for waiting on multiple sockets and abstract it to poll and select so windows can use it too 2014-07-25 00:23:08 +05:00
Anthony Minessale a2921e269c update verto with some fixes and enhancements with reconnection 2014-07-18 01:04:04 +05:00
Anthony Minessale 39200cd13b increase memory for buffers to hold new decoded stereo codecs 2014-07-03 02:55:21 +05:00