2225 Commits

Author SHA1 Message Date
Anthony Minessale
d5e48302e6 FS-7501: improve linked list algorithm in a few places to help performance 2015-05-28 12:47:17 -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
fa7695847a FS-7499: improve generic nack and vpx framing 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
52d15f6398 FS-7505: clean up and support multiple formats to same extensions {modname=mod_vlc}rtmp://foo.com/flvplayback also move [/tmp]file to be {spool_path=/tmp} 2015-05-28 12:47:13 -05:00
Anthony Minessale
5fcb594246 FS-7500: add partition mode to switch_buffer 2015-05-28 12:47:11 -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
c040b0ff0d FS-7503: store stream name so same module can handle mutiple stream interfaces 2015-05-28 12:47:10 -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
Michael jerris
1cd9e52b9e FS-7499: add enum for various rtcp related types 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
93db69ed03 FS-7500: can't use stristr for this 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
Seven Du
e02ff26569 FS-7500: libpng 1.6.0 has much simpler APIs, also add a new switch_img_patch_png to possible patch a transparent png to an img
While this is not optimal, we should cache the png:
1) cache the whole buffer, with comes with RGBARGBA pixel formats
2) Allow switch_image_t to be other formats e.g. VPX_IMG_FMT_ARGB, VPX_IMG_FMT_ARGB_LE, or VPX_IMG_FMT_444A
   those can have alpha channels so we can check the alpha channel before we patch

Note all PNG are created equel, or maybe a bug in libpng since for some PNG files with alpha the returned buffer
     not seems like RGBARGBA... while docs says it should default be RGBA
2015-05-28 12:47:02 -05:00
Anthony Minessale
e65f6bd604 FS-7513: add logo func and positioning param and vid snapshot 2015-05-28 12:47:02 -05:00
Anthony Minessale
2c1ab14074 FS-7513: add configurable FPS for conf and default to 15 2015-05-28 12:47:02 -05:00
Seven Du
84a1f5f642 FS-7500: add overlay func 2015-05-28 12:47:02 -05:00
Seven Du
c70e8cf216 FS-7500: add yuv2rgb 2015-05-28 12:47:01 -05:00
Anthony Minessale
1faf602251 FS-7513: basic logo 2015-05-28 12:47:01 -05:00
Anthony Minessale
521a97935e FS-7500: check in png code and put it in the core to mature 2015-05-28 12:47:00 -05:00
Seven Du
90ea86bc95 FS-7506 FS-7513: refactor with rgb color space to support anti aliasing 2015-05-28 12:47:00 -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
Seven Du
9d7eef28e6 FS-7500 FS-7513: add and use switch_img_fill 2015-05-28 12:46:59 -05:00
Seven Du
c857be4547 FS-7506: improve draw_text with minimum anti aliasing 2015-05-28 12:46:59 -05:00
Seven Du
0f28311b17 FS-7506 FS-7513: refactor switch color and implement draw_text in mod_conference 2015-05-28 12:46:59 -05:00
Anthony Minessale
1aa66ef30a FS-7513: do layers in order and reset when attaching 2015-05-28 12:46:58 -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
e14ad07a26 FS-7500: move function to core 2015-05-28 12:46:58 -05:00
Anthony Minessale
f7fb5fbff3 FS-7500: forgot one 2015-05-28 12:46:58 -05:00
Anthony Minessale
1bb8c0a8fc FS-7500: fix signed error 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
1061aef9fa FS-7500: convert more to typedef to avoid warnings and build problems 2015-05-28 12:46:56 -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
4d100bc2e8 FS-7509: stop media on verto detach 2015-05-28 12:46:55 -05:00
Anthony Minessale
982d05c30c FS-7501: fix vid buffer reset 2015-05-28 12:46:55 -05:00
Seven Du
c52d69d173 FS-7500: add switch_img_copy to clone an image 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
bc24e0f28a support AVPF too 2015-05-28 12:46:53 -05:00
Anthony Minessale
17aa836403 FS-7499: add generic nack support to rtp stack 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