Commit Graph

677 Commits

Author SHA1 Message Date
Anthony Minessale f39c9e009b FS-8909 FS-8914 2016-03-09 18:01:13 -06: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 7422482ef6 FS-8914 2016-03-09 00:15:23 -06:00
Anthony Minessale 2cf9962f61 FS-8914 2016-03-09 00:02:59 -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 ee7a298f40 FS-8868 #resolve [recording app to respect bandwidth set in SDP] 2016-03-07 21:56:13 -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
Anthony Minessale a2b806c01c FS-8876 make function public and use it in conference also 2016-02-29 16:22:13 -06:00
Anthony Minessale d89a0ad52d FS-8864 2016-02-26 18:43:33 -06:00
Anthony Minessale 6334e1ce39 FS-8864 #resolve [Improve video file playback] 2016-02-26 15:28:03 -06:00
Anthony Minessale 3d7fbd17be FS-8876 #resolve [Bind video threads to CPU alternating] 2016-02-25 16:11:37 -06:00
Brian West bcbb2fd873 FS-8862 auto adjust on passthru 2016-02-24 17:28:23 -06:00
Anthony Minessale e0657a82e0 FS-8842 #comment please try this patch on latest master 2016-02-22 13:31:22 -06:00
William King 00ac46bd98 FS-8830 SDP line separator fix for SDP generated by the core
Sofia when giving an SDP through SOA was parsing the SDP and rewriting
it. For endpoints that use the core SDP as is will have more accurate
SDP now.
2016-02-11 12:46:31 -06:00
Seven Du f04a935ff9 FS-6544 fix return type 2016-02-06 17:01:32 +08:00
Anthony Minessale f96e016135 FS-6544 2016-02-05 11:56:44 -06:00
Anthony Minessale 62d7b0aed3 FS-8731 #resolve [Crash when leg-b invite video in voice call] #comment please update and retest 2016-01-14 15:12:01 -06:00
Anthony Minessale 32d4e56e1e FS-8716 2016-01-08 17:18:19 -06:00
Anthony Minessale 0db9843ea8 FS-8716 actually fix typo 2016-01-08 09:57:52 -06:00
Anthony Minessale 42ac717d58 FS-8716 typo 2016-01-07 16:46:30 -06:00
Anthony Minessale 0da5d8a350 FS-8716 #resolve [recording offset is delayed few seconds for rtmp stream] 2016-01-07 16:39:06 -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 2cb7188c17 FS-8632 #resolve [Add origination_audio_mode originate variable] 2015-12-08 18:30:48 -06:00
Anthony Minessale 8a73ecc14a FS-8053 amendment 2015-11-18 12:33:42 -06:00
Brian West 771123eb1b FS-8053 typo2 2015-11-18 10:55:05 -06:00
Anthony Minessale 07b8458497 FS-8053 typo 2015-11-18 10:50:40 -06:00
Anthony Minessale e95f3686ad FS-8053 #resolve [When WebRTC's SDP contains a=sendonly for video, the client will still receive the video stream] 2015-11-18 10:31:30 -06:00
Anthony Minessale 67491b102c FS-8543 #resolve [Improve mute handling on conference and WebRTC] 2015-11-16 11:31:34 -06:00
Anthony Minessale aa0b28e235 WIP not shabby auto vid settings 2015-11-06 14:01:54 -06:00
Brian West 7d57063a14 FS-8404: if media engine will default to PCMU/PCMA if you don't specify any codecs 2015-11-05 11:30:02 -06:00
Anthony Minessale 38ff603766 FS-8417 #resolve [SIP offer with a=sendonly sometimes replies with a=inactive] 2015-11-05 10:43:19 -06:00
Anthony Minessale 238722879b FS-8414 #resolve [Ptime unchanged on codec renegotiation] 2015-11-04 09:46:36 -06:00
Bradley Jokinen e96c2d4917 FS-8411 Replace ping_frame with video_ping_frame in a couple places that were missed 2015-11-03 09:27:21 -06:00
Anthony Minessale e299489cfc FS-8391 #resolve [SDP parsing error for rtcp-fb] 2015-10-27 10:58:04 -05:00
Anthony Minessale f6427a5f92 FS-8382 #resolve [Segfault with inbound-proxy-media enabled] 2015-10-22 15:02:38 -05:00
Anthony Minessale 116c4aa916 up default max jb size to 50 2015-10-21 11:50:14 -05:00
Mike Jerris 847fe0f476 Merge pull request #535 in FS/freeswitch from ~COREY BURKE/freeswitch:bugfix/FS-8286-improve-debug-logging-for-info-level to master
* commit '3a9e7f08b4757aeaa33537658379f3964104cb7d':
  FS-8286: Minor debug log level tweaks
2015-10-21 11:43:18 -05:00
Anthony Minessale 072f269ee7 FS-8372 #resolve [Wrong response to RTP/SAVPF without DTLS] 2015-10-21 11:28:37 -05:00
Anthony Minessale 3184180238 FS-8368 #resolve [Reduce logging for audio/video sync] 2015-10-20 13:39:10 -05:00
Anthony Minessale 7572b52815 FS-8275 #resolve [RFC2833 DTMF broken in recent master] REGRESSION FIXED 2015-10-20 12:06:40 -05:00
Anthony Minessale 56d83d1967 FS-8321 #resolve [BEHAVIOR CHANGE Add variable media_mix_inbound_outbound_codecs to mix inbound and outbound codecs] 2015-10-08 13:17:24 -05:00
Anthony Minessale 3e23ff7d29 uncomment code 2015-10-07 14:38:36 -05:00
William King 444f81ce9f FS-8316 fixed new build warning from latest clang 2015-10-07 10:35:46 -07:00
Mike Jerris b205355c24 Merge pull request #505 in FS/freeswitch from ~SAFAROV/freeswitch2:fix_udptl_SDP to master
* commit '62d4d47b1a09075acc19cd792a90468d50e6cb14':
  FS-8198: Fixed default CRLF sequence in t38 SDP
2015-10-07 12:32:53 -05:00
Corey Burke 3a9e7f08b4 FS-8286: Minor debug log level tweaks
Adjust some DEBUG and INFO log lines, reducing log verbosity at the INFO level while increasing call debugging info.
2015-10-02 08:41:41 -07:00
Anthony Minessale c71b0cbd86 FS-8275 #resolve [RFC2833 DTMF broken in recent master] 2015-10-01 19:43:51 -05:00
Anthony Minessale f1c61f6f24 FS-8216 #comment please test 2015-09-30 22:03:33 -05:00
Anthony Minessale beb1521e88 revert 2015-09-30 22:02:50 -05:00
Anthony Minessale 8401e716b1 FS-8240 #comment please test 2015-09-30 22:00:47 -05:00
Anthony Minessale d335fb089e FS-8220 #resolve [DTMF not working between telephone-event/48000 A leg and telephone-event/8000 B leg] 2015-09-28 13:26:07 -05:00
Anthony Minessale 5a18d02e66 FS-8166 #resolve [Mute/unmute while shout is playing audio fails because the channel "has a media bug, hard mute not allowed"] 2015-09-28 12:38:58 -05:00
Brian West 8b7465425d FS-8130 regression in bridged channels with jitterbuffers 2015-09-23 14:46:47 -05:00
Sergey Safarov 62d4d47b1a FS-8198: Fixed default CRLF sequence in t38 SDP 2015-09-22 16:58:08 +03:00
Anthony Minessale 13add97426 FS-8130 refactor pass 2015-09-21 15:32:38 -05:00
Anthony Minessale 8a0366b999 FS-8130 running out of witty commit msgs 2015-09-21 14:08:38 -05:00
Anthony Minessale 0fa190093e FS-8130 the bug that keeps on giving 2015-09-18 20:54:42 -05:00
Anthony Minessale 4a56b7d145 FS-8130 cont 2015-09-17 17:34:58 -05:00
Anthony Minessale 944bad6708 FS-8173 fix SAVPF printing when it's really AVPF 2015-09-16 18:08:44 -05:00
Anthony Minessale 703795e913 FS-8130 FS-7432 FS-8115 2015-09-15 20:33:55 -05:00
Anthony Minessale 52afedf23d FS-8053 addtl touchups 2015-09-15 12:14:09 -05:00
Anthony Minessale 36cd926981 typo 2015-09-14 20:04:17 -05:00
Anthony Minessale b2f97336e8 FS-8114 #resolve [Opus and telephone event payload types collide on REFER] 2015-09-14 19:44:48 -05:00
Anthony Minessale 79f158911e FS-8053 fix some regressions from original merge, add auto mute-unmute when toggling video send/recv 2015-09-14 16:49:55 -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 331cde3c92 FS-8053: handle a=sendonly, a=sendrecv, a=recvonly to change who is sending video during a call 2015-09-09 18:10:52 -05:00
Anthony Minessale fe0908d6e1 FS-8126 #resolve [Pruning of a media bug may cause all media bugs on a session to be pruned] 2015-09-09 13:04:58 -05:00
Anthony Minessale 293ceabb78 let jb get bigger on video sync 2015-09-04 13:53:50 -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 5ba81a466b allow video jb to go lower as needed 2015-08-31 17:18:53 -05:00
Michael Jerris d056132728 FS-8057: [core] fix segfault when doing video call when built against libyuv but not libvpx 2015-08-26 17:24:56 -05:00
Anthony Minessale de3b0a0957 FS-8053 #resolve [When WebRTC's SDP contains a=sendonly for video, the client will still receive the video stream] 2015-08-26 12:10:34 -05:00
Anthony Minessale b78a600375 FS-7903 #resolve [proxy_media gives Codec PROXY Exists but not at the desired implementation. 0hz 0ms 1ch] 2015-08-24 17:44:20 -05:00
Dragos Oancea a0a43ab1ee FS-7971 : adv_rm_rate (telephone-event and CN) 2015-08-18 10:38:33 -04:00
Anthony Minessale 24193c860a #resolve [check_ice routine in switch_core_media.c chooses all candidates] 2015-08-17 16:30:06 -05:00
Anthony Minessale 04b619bb47 FS-7971 #resolve 2015-08-17 12:13:55 -05:00
Anthony Minessale c727b985eb FS-7908 FS-7092 refactor #comment test 2015-07-30 18:11:13 -05:00
Anthony Minessale b60e92bc53 hack sync for now %noWIR 2015-07-28 21:42:08 -05:00
Brian West 37b6f48ae4 FS-7908 use rates for audio codecs only #resolve 2015-07-28 15:58:08 -05:00
Seven Du 967bff55a2 FS-7811 #comment use more common format CIF for blank img 2015-07-24 09:30:57 +08:00
Michael Jerris b1a5efcbe8 change log levels to debug 2015-07-15 12:50:36 -04:00
Anthony Minessale f726cb9a53 FS-7769: [mod_conference] Add new multi-canvas and telepresence features
mod_conference new features:
add conference layout "1x1+2x1" and add to layout group grid
add conference flag video-bridge-first-two conference flag
add conference flag video-required-for-canvas to only use avatars for members with video
add conference flag video-muxing-personal-canvas
add conf_verto_ prefix for variables to pass on live array subscription notice
add api command conference foo vid-canvas <member_id|all|last|non_moderator> [<newval>]
add api command conference foo vid-layer <member_id|all|last|non_moderator> [<newval>]
add api command conference foo vid-watching-canvas <member_id|all|last|non_moderator> [<newval>]
changed api command conference foo vid-layout, args are now "<layout name>|group <group name> [<canvas_id>]"
add channel vars you can set before entering conference video_initial_canvas and video_initial_watching_canvas
add many new output status vars to conference list api
add new conference member flag "second-screen"
add config param video-canvas-count
add config param video-super-canvas-label-layers
add config param video-super-canvas-show-all-layers
add config param video-super-canvas-bgcolor

verto client:
add google login
add hipchat js file
conf_verto_hipchatURL= to control what hipchat server appears if any
global device init and overrides
allow passing sessid
add confMan.canvasCount
add handling of multiple canvases and launching them, and controlling all of their layouts
re-layout moderator controls and add support for changing the watching and input canvas and layers
when launching another canvas, watch subscriptions for the original call so we can automatically close the additional window
maintain camera settings on call recovery
2015-07-13 18:03:16 -04:00
Mike Jerris 6189ac0192 Merge pull request #274 in FS/freeswitch from bugfix/FS-7578-telephone-event-codec-clock-rate to master
* commit 'f35343a9cc26ba08b20571784f14a5ef36bca0fc':
  FS-7578: properly generate telephone-event in sdp for each rate of codec being offered
2015-07-03 17:32:35 -05:00
Anthony Minessale a73952ceca FS-7726 #resolve 2015-06-29 16:06:13 -05:00
Anthony Minessale e80d129617 FS-7679 #resolve #comment should work now 2015-06-25 15:10:43 -05:00
Anthony Minessale c014c00bbf FS-7679 revert unwanted change 2015-06-25 14:40:06 -05:00
Anthony Minessale 6a102816f6 FS-7679 #resolve #comment please test, also added some cases of calling a file with no video as well 2015-06-25 13:33:47 -05:00
Anthony Minessale 834a0186e0 don't block on read of video file in the core 2015-06-19 01:50:48 -05:00
Anthony Minessale c29568f1c2 FS-7432 regression from 251c4ab439 don't count recovering channels 2015-06-18 13:33:50 -05:00
Anthony Minessale 0511896444 FS-7641 fix seg from wrongly nulling ping_frame 2015-06-13 16:19:13 -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
Anthony Minessale f35343a9cc FS-7578: properly generate telephone-event in sdp for each rate of codec being offered 2015-06-09 15:38:05 -05:00
Anthony Minessale 251c4ab439 FS-7432 send actpass on re-invites 2015-06-08 16:17:53 -05:00
Brian 6bb8ee321a FS-7601 improve opus packet loss routines #resolve 2015-06-05 18:11:20 -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 150ebff5d4 FS-7602 FS-7499 FS-7587 #comment another refactoring pass on candidate parsing and ipv4/6 parsing (part 2) 2015-06-03 16:04:51 -05:00
Anthony Minessale 6c135e15c1 FS-7602 FS-7499 FS-7587 #comment another refactoring pass on candidate parsing and ipv4/6 parsing 2015-06-03 15:54:21 -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 51c6a6f7b5 add a bit to 2db8f94ab6 2015-06-02 21:09:59 -05:00
Anthony Minessale 3b2d00f3e6 FS-7587 Add ipv6 support to Verto / Websockets 2015-06-01 13:39:47 -05:00
Anthony Minessale 2188358832 FS-7500 FS-7499 refactoring while battling chrome 2015-05-28 12:47:34 -05:00
Anthony Minessale 40484fce58 FS-7499 FS-7500 mods for interop against latest chrome builds 2015-05-28 12:47:34 -05:00
Anthony Minessale 09ede13fc4 FS-7500 add switch_img_letterbox and use it for the mirror input function 2015-05-28 12:47:33 -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 6be0e0809d FS-7501 add vbsize to mod video buffer size 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 593bd56bc6 FS-7499 revert 8a3b020be2d811e0b15008460f00cc32adcf9d51 2015-05-28 12:47:31 -05:00
Anthony Minessale ea16f82d20 FS-7500: move img test down into read function 2015-05-28 12:47:31 -05:00
Anthony Minessale 772665e0fa FS-7499 FS-7500 FS-7508 FS-7513 trying to improve the video signal decoding under stress and get vpx to latch on to a signale sooner 2015-05-28 12:47:29 -05:00
Anthony Minessale dc4c38dab5 FS-7499 FS-7508 FS-7501 some more general improvements for initial call setup 2015-05-28 12:47:29 -05:00
Anthony Minessale 272108f0b3 FS-7499 fix ssrc and rtcp negotiation and parsing irregularities caused by ice/rtcp mux 2015-05-28 12:47:29 -05:00
Anthony Minessale e7fa32a781 FS-7499 prefer FIR over PLI when both are present 2015-05-28 12:47:29 -05:00
Anthony Minessale e1ebd3b62b FS-7432 #resolve 2015-05-28 12:47:29 -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 d1e466e76d FS-7500: clock in 15fps for now 2015-05-28 12:47:27 -05:00
Anthony Minessale 33d9b8066b FS-7500: return cng frames when waiting for a key 2015-05-28 12:47:27 -05:00
Anthony Minessale 22a4a4dd7e FS-7500: set default bandwidth to 1mb 2015-05-28 12:47:25 -05:00
Michael Jerris 4662118ca8 CID:1294504: make sure to check for NULL frame 2015-05-28 12:47:24 -05:00
Michael Jerris 6dcff0a79a CID:1294431: make sure not to check uninitialized value 2015-05-28 12:47:24 -05:00
Michael Jerris 35be8a16e9 CID:1024241: clean up null checking on var that can never be null anyways 2015-05-28 12:47:23 -05:00
Michael Jerris 200199e05f CID:1023990: remove unused code 2015-05-28 12:47:23 -05:00
Michael Jerris b78aac6196 FS-7456: also more complete fix for FS-7440, handle sdp with m lines in any order 2015-05-28 12:47:23 -05:00
Anthony Minessale 2a36066ea0 FS-7500: make 15fps the min detected speed 2015-05-28 12:47:23 -05:00
Michael Jerris 40d0e1fdd7 FS-7440: handle m=video lines before m=audio 2015-05-28 12:47:22 -05:00
William King f09dad317f CID: 1294489 missing break statement which would cause recvonly sdp to be treated as sendrecv 2015-05-28 12:47:21 -05:00
William King acec23d8c8 CID: 1294518 remove chance for divide by 0 2015-05-28 12:47:21 -05:00
Seven Du 30463bfc1e FS-7513: break is safer than continue
when the encoder returns 0, it means no more data will come and we should not try again
2015-05-28 12:47:21 -05:00
Anthony Minessale d8e5334a05 FS-7513: add some mutexes on video_read_callback code 2015-05-28 12:47:21 -05:00
Seven Du 046798a057 FS-7513: don't write 0 data, openh264 might return 0 2015-05-28 12:47:20 -05:00
Anthony Minessale c312b50da7 FS-7515: update cv to use new alpha supported switch_image_t 2015-05-28 12:47:20 -05:00
Seven Du 0ddfea1d1b FS-7500: refactor to support Alpha channel on core image, only ARGB & I420 are supported 2015-05-28 12:47:20 -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 01c0a1d44d FS-7500: don't send blank vid on sleep unless there is nothing else going on 2015-05-28 12:47:17 -05:00
Anthony Minessale 62c3ddfab3 FS-7500: fix sleep sending blank img too fast 2015-05-28 12:47:17 -05:00
Brian West 379950f523 FS-7500: video introp tweaks 2015-05-28 12:47:15 -05:00
Anthony Minessale ee81167996 FS-7502: add some changes for video media bug 2015-05-28 12:47:15 -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 dc7608fb9e FS-7501: add mutex to vid buf and fix regression from last regression fix 2015-05-28 12:47:14 -05:00
Anthony Minessale 84ca513353 FS-7500: fix some regressions regarding passthru video 2015-05-28 12:47:14 -05:00
Anthony Minessale eb819b51b5 FS-7509: WIP media reneg stuff 2015-05-28 12:47:14 -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 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 6f379f43c1 FS-7500: fix calculation bug in switch_img_fit 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 405abc5177 FS-7500: fix regression in no-camera mode 2015-05-28 12:47:08 -05:00
Anthony Minessale 5755b7849e FS-7513: move code to core 2015-05-28 12:47:08 -05:00
Anthony Minessale ee09575466 FS-7500: try not do 2015-05-28 12:47:08 -05:00
Anthony Minessale b1e8f86b37 FS-7500: block overlapping writes 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 ab34c9a99c FS-7500: stick with little train img 2015-05-28 12:47:07 -05:00
Anthony Minessale 5b509a72ef FS-7505: train video a little in beginning and make play file wait for it to train 2015-05-28 12:47:07 -05:00
Anthony Minessale baa3d9cd7c FS-7503 FS-7514 FS-7513: fix some buffering bugs in vlc and set mod_conference to match the rate and channels when calling vlc files 2015-05-28 12:47:06 -05:00
Anthony Minessale 59da14542f FS-7505 FS-7514: working towards vid rec 2015-05-28 12:47:06 -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 2f0f408984 FS-7500: ping video thread on shutdown so it can end 2015-05-28 12:47:04 -05:00
Seven Du afc67e517b FS-7500: fix type mismatch 2015-05-28 12:47:04 -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 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 a56e65bace FS-7513: add flag to choose between encoding each frame and using central encoder per codec, add parsing for floor fields and reservation fields in layouts, add param to control bandwidth for consolidated codecs, add audio-position attr to images in layout to sync with virtual HRTF 2015-05-28 12:46:58 -05:00
Anthony Minessale fa5d6af2cd FS-7513: refactor conference video muxing to create one distinct encoder per codec used and only create one encoded frame per distinct codec, store current image used by layer on the layer so it is not destroyed before the canvas is written, refactor and rearrange some functions 2015-05-28 12:46:57 -05:00
Anthony Minessale 8d3f93152e FS-7508: parse both bw vars the same 2015-05-28 12:46:57 -05:00
Seven Du 93ee6158ff FS-7514: make vlc endpoint works with originate in addition to bridge 2015-05-28 12:46:57 -05:00
Anthony Minessale 1422158271 FS-7500: add to last commit 2015-05-28 12:46:56 -05:00
Anthony Minessale ac140fb6dd FS-7500: codec tweaks 2015-05-28 12:46:56 -05:00
Anthony Minessale 260e277f36 FS-7513: conf WIP hard code 4x4 squares in 720p more to come 2015-05-28 12:46:56 -05:00
Anthony Minessale d6ef34a725 FS-7508: trying to mitigate chrome going crazy on reload 2015-05-28 12:46:55 -05:00
Anthony Minessale 4d100bc2e8 FS-7509: stop media on verto detach 2015-05-28 12:46:55 -05:00
Anthony Minessale 59fa1b9ac7 FS-7499: mod vid refresh stuff 2015-05-28 12:46:55 -05:00
Anthony Minessale 955dd099ca FS-7166 #resolve 2015-05-28 12:46:54 -05:00
Anthony Minessale 6789f37b39 # This is a combination of 2 commits.
# The first commit's message is:

FS-7166 #resolve

# This is the 2nd commit message:

revert
2015-05-28 12:46:54 -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 81887e9bfc FS-7501: add video jitterbuffer debug controls 2015-05-28 12:46:53 -05:00
Anthony Minessale bc24e0f28a support AVPF too 2015-05-28 12:46:53 -05:00
Anthony Minessale 6ba2205cf7 FS-7499: enable nack in video negotiation 2015-05-28 12:46:53 -05:00
Anthony Minessale 4e7cda1b49 FS-7501: remove debug 2015-05-28 12:46:52 -05:00
Anthony Minessale 0d626bc715 FS-7501: more factoring on vid buffer 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 ae44bd27e2 FS-7499: tweaks to rate of fir/pli 2015-05-28 12:46:51 -05:00
Anthony Minessale 063eec1e8e FS-7500: fix recovery for video 2015-05-28 12:46:51 -05:00
Anthony Minessale 76ec99ed97 FS-7500: poll rtp on answer until dtls is negotiated 2015-05-28 12:46:51 -05:00
Anthony Minessale 6a7509ffbc FS-7499: default rtcp to once a second for video and every 5 for audio 2015-05-28 12:46:51 -05:00
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 8f0910509f FS-7500: add keyframe req and session refresh req debounce 2015-05-28 12:46:49 -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 a8b00acda7 FS-7500: sync up going both ways after picture reset 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 b8577d0ce9 FS-7500: fix seg and clean up keyframe code 2015-05-28 12:46:48 -05:00
Anthony Minessale ca70f76a8b FS-7500: refresh vid the other way too when asking for keyframe 2015-05-28 12:46:48 -05:00
Anthony Minessale c874fe05d8 FS-7500: SQUASH ME WITH THE LAST ONE 2015-05-28 12:46:47 -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 a74b6f62a2 FS-7500: fix some of the debugging tools 2015-05-28 12:46:46 -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 96025a407d FS-7500: remove debug 2015-05-28 12:46:45 -05:00
Anthony Minessale d7af2b128c FS-7500: clean up logic of encoder flow and set rules on return values and tweak some codec settings on vp8 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
Seven Du 258dacc742 FS-7500: fix if statement 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 3c29d4e8a7 FS-7500: mark places to fix later 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
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
Anthony Minessale b5f75a0f43 FS-7582 #resolve #comment port from 1.6 its probably better to start working on 1.6 for any webrtc or dtls stuff 2015-05-27 16:48:16 -05:00
Anthony Minessale 2db8f94ab6 skip rtcp addr when mux is set 2015-05-27 06:14:08 -05:00
Michael Jerris 9d68cab2ac FS-7456: also more complete fix for FS-7440, handle sdp with m lines in any order 2015-04-21 12:07:54 -04:00
Michael Jerris 753030acf5 handle m=video lines before m=audio 2015-04-17 11:26:15 -05:00
Anthony Minessale f2a5271009 doh 2015-03-27 00:01:05 -05:00
Anthony Minessale 2c92ef31e3 FS-7386
Conflicts:
	src/switch_core_media.c
2015-03-26 23:52:53 -05:00
Anthony Minessale 83dd94193d FS-7166 #resolve 2015-01-23 21:16:47 -06:00
Anthony Minessale 1710214025 enable nat mode for verto when ext-rtp-ip is set 2015-01-23 20:53:00 +00:00
Anthony Minessale 608d3e2425 wtf 2015-01-22 03:09:59 -06:00
Anthony Minessale 90d3cb633c fix media reload on verto and sip re-invites 2015-01-22 03:07:50 -06:00
Anthony Minessale 9fabbabe90 disable hard-mute when a session has a media bug attached 2014-12-22 19:06:12 -06:00
Anthony Minessale 4ce2ce31ca FS-7092 #resolve #comment resolved in master 2014-12-18 00:45:21 -06:00
Anthony Minessale 6dbb4162e8 FS-7086 FS-6798 #resolve 2014-12-13 00:57:14 -06:00
Anthony Minessale d189e983c8 allow 10ms jb 2014-12-12 17:51:34 -06:00
Anthony Minessale 3d515cf49c re-mark cur_payload as negotiated when detected as such by parser or the rtp could stop working on session re-invite 2014-12-12 00:54:52 -06:00
Anthony Minessale 922fd81523 FS-7015 #resolve #comment The code was not properly catching the 0.0.0.0 after changing it to work with ICE SDPs because it was looking in the wrong place for the 0.0.0.0 2014-12-11 17:18:24 -06:00
Anthony Minessale be0e09bd7f only negotiate codecs that were previously negotiated on re-invites unless its intentional to change codecs 2014-12-11 15:03:53 -06: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 a3a80401fd fix regression caused by missing ! char in commit: 4eb5b388 2014-11-07 17:11:47 -06:00
Anthony Minessale 4eb5b38848 fix bug where re-invites needlessly re-init the codec and jb 2014-11-05 11:35:16 -06:00
Anthony Minessale 7ca4ac566c FS-5949 FS-6945 #comment this change should be relevant to both of these issues, please test. This patch improves the hold parsing and ignores connection address of 0 implying hold when ice is present and disables the auto interpretation by the lower level stack of 0.0.0.0 to automatically imply sendonly to allow FS to decide on its own 2014-10-31 13:49:39 -05: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 12b6940644 update jb command parser 2014-10-24 15:26:44 -05:00
Anthony Minessale 1f9025d446 FS-6926 #resolve #comment please test and reopen if necessary 2014-10-16 17:57:46 -05:00
Anthony Minessale e245e90761 fix some jitterbuffer constants 2014-10-13 13:05:57 -05:00
Anthony Minessale 9bd3bd30d3 FS-6911 #resolve 2014-10-13 10:36:51 -05:00
Hristo Trendev d48057e23f account for lost frames during ptime detection
This allows the "broken ptime" detection to work correctly when packet
loss is present on the wire. In addition to the timestamps this patch
adds frame sequence tracking and corrects the timestamp difference
only as needed and according to the number of lost packets.

FS-6898 #resolve
2014-10-09 11:37:52 +02:00
Anthony Minessale f7210b2402 some more changes relates to new bypass media controls 2014-10-03 18:43:23 -05:00
Anthony Minessale b2ae5f4cc2 few bugs on recent new features 2014-10-03 15:36:23 -05:00