Commit Graph

752 Commits

Author SHA1 Message Date
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