69 Commits

Author SHA1 Message Date
Anthony Minessale
c9065a85b6 FS-7602 add some of 3b2d00f3e65061393da10a4ba286ac72cdb3c16e 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
Anthony Minessale
a7b9329a08 FS-6446 regression fixed 2014-06-02 19:09:48 -05:00
Anthony Minessale
bedf8327b6 FS-6418 FS-6427 add profile param NDLB-proxy-never-patch-reinvites to solve both issues 2014-05-21 03:31:50 +05:00
Anthony Minessale
e5b291514c FS-5755
rtp_secure_media=mandatory
rtp_secure_media=optional
rtp_secure_media=mandatory:AES_CM_256_HMAC_SHA1_80,AES_CM_256_HMAC_SHA1_32
rtp_secure_media=optional:AES_CM_256_HMAC_SHA1_80
rtp_secure_media=forbidden

true implies mandatory
false implies forbidden
not set implies optional

rtp_secure_media_inbound or rtp_secure_media_outbound take precedence and are treated the same way based on leg direction
2014-03-06 07:34:47 +05:00
Anthony Minessale
5646957c5b FS-5937 2014-02-26 04:06:59 +05:00
Anthony Minessale
97e234048c FS-6204 refactor some dtls code to generate a 1024 bit cert suitable for dtls in all version of chrome 2014-02-19 07:05:37 +05:00
Ken Rice
6e7d5d0897 update copyright header for 2014 2014-02-12 12:08:56 -06:00
Anthony Minessale
0030ce440e FS-5958 this should pass it through in late mode too 2013-11-20 05:20:01 +05:00
Anthony Minessale
f14260e8dd set fmtp in payload_map init function 2013-11-19 00:43:30 +05:00
Anthony Minessale
0d1b647197 remainder of previous patch to pass through dynamic payload numbers used 2013-11-12 00:42:32 +05:00
Anthony Minessale
fb78273ab0 inherit dynamic payloads from A leg where applicable 2013-11-10 07:53:48 +05:00
Anthony Minessale
bb9adff511 rework media code 2013-11-08 03:48:00 +05:00
Anthony Minessale
4a172402d2 some refactoring and plumbing for 1.4 2013-10-16 02:24:32 +05:00
Anthony Minessale
39ad799683 FS-4932 FS-5090 --resolve 2013-07-29 10:18:05 -05:00
Anthony Minessale
bf5fa172e5 FS-5547 --resolve 2013-06-26 10:47:40 -05:00
Nathan Neulinger
32adc789f6 make noexpandtab explicit in all vim modelines other than xml files 2013-06-25 11:50:17 -05:00
Anthony Minessale
4baf0276d6 FS-5513 --resolve 2013-06-18 21:16:56 -05:00
Anthony Minessale
2fac3a8e83 refactor some of the video passthru code 2013-06-17 19:52:37 -05:00
Anthony Minessale
ea881b191f media/srtp refactoring pass 2013-05-17 15:39:30 -05:00
Anthony Minessale
7a42ec06df RTP stats were not being logged. There is no JIRA on this sigh 2013-04-26 09:31:28 -05:00
Anthony Minessale
dd878da49d clean up proxy media mode 2013-03-31 21:27:27 -05:00
Anthony Minessale
ad1226b5c4 change name to match steves changes in master 2013-03-31 21:27:23 -05:00
Anthony Minessale
5c90322e8c MILESTONE: kind of works on media and signaling 2013-03-31 21:27:20 -05:00