Commit Graph

17589 Commits

Author SHA1 Message Date
Anthony Minessale 216850c1a0 FS-7502: set video flag on record session 2015-05-28 12:47:14 -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
Michael Jerris 0fc2c54b11 FS-7513: Add new conference profile param video-mode (mux,transcode,passthrough) with passthrough as default
remove transcode-video, decode-video, mix-video flags
2015-05-28 12:47:14 -05:00
Michael Jerris 93debc5ae1 FS-7501: remove debug 2015-05-28 12:47:14 -05:00
Anthony Minessale 8b9f8748a2 FS-7500: fix syntax 2015-05-28 12:47:14 -05:00
Anthony Minessale fa7695847a FS-7499: improve generic nack and vpx framing 2015-05-28 12:47:14 -05:00
Brian West 7fc019a979 FS-7513: fix segfault on conference hangup 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
Michael Jerris 6d5590a76a FS-7513: don't seg when you have a mute png defined that can not be read 2015-05-28 12:47:13 -05:00
Michael Jerris 2171081963 FS-7513: remove unused profile params ack-sound and nack-sound 2015-05-28 12:47:13 -05:00
Anthony Minessale 2bbe417fab FS-7508: use all the cpus 2015-05-28 12:47:13 -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 13e60c420d FS-7513: don't want detach here 2015-05-28 12:47:13 -05:00
Seven Du fb429b2134 FS-7519: Another round to break mod_av, now mod_avcodec 2015-05-28 12:47:13 -05:00
Seven Du ed62be70c3 FS-7519: WIP break mod_av into mod_avformat, moving to libav.org API
Tested with libav 11.3
./configure --prefix=/opt/av --enable-shared --enable-pthreads --enable-gpl --enable-version3 --enable-hardcoded-tables --enable-avresample --host-cflags= --host-ldflags= --enable-libx264 --enable-libmp3lame --enable-libvorbis --enable-libvpx --enable-libfaac --enable-libspeex --enable-nonfree --enable-vda

WIP av file interface, kind of works, need further tweak & cleanup
2015-05-28 12:47:13 -05:00
Anthony Minessale 25dade86aa FS-7519: add pkg-config checks for avformat and avcodec and move modules to use automke 2015-05-28 12:47:13 -05:00
Anthony Minessale 697107547a add audio offset 2015-05-28 12:47:13 -05:00
Seven Du adbb197414 fix stereo 2015-05-28 12:47:12 -05:00
Seven Du bbfd9f7ef3 got webm working with mono, todo: stereo, syncing 2015-05-28 12:47:12 -05:00
Seven Du 29bddbd3fc WIP add experimental vorbis codec
made it like a codec mod so we can share the same code in case opus is fully supported in webm
add -lvorbis -lvorbisenc to Makefile
the audio is still completely silence, hope we can find out why
2015-05-28 12:47:12 -05:00
Michael Jerris ca291c3f12 FS-7513: fix conference position api command description 2015-05-28 12:47:12 -05:00
Anthony Minessale fc1ff9209e FS-7508: timing update 2015-05-28 12:47:12 -05:00
Seven Du 8d4686aee2 some refactors and make audio work with opus
use SWITCH_RTP_MAX_BUF_LEN for video
timestamp has to times 1000 or it too short
neither VLC nor Chrome plays it because they don't support OPUS,
but you can use `ffmpeg -i a.webm b.webm`
2015-05-28 12:47:12 -05:00
Anthony Minessale db31cc650e fix size 2015-05-28 12:47:12 -05:00
Seven Du 18cd917916 FS-7508: fix when reading invalid vp9 and cleanup a bit 2015-05-28 12:47:12 -05:00
Seven Du 897ec20c99 WIP add mod_webm, video is working, audio is not 2015-05-28 12:47:12 -05:00
Anthony Minessale 66dd1bc8e7 FS-7508: tweak 2015-05-28 12:47:12 -05:00
Seven Du 87766a23b7 FS-7508: add vp9 key frame detection and some packet sanity check 2015-05-28 12:47:12 -05:00
Anthony Minessale 4a6e9fd4b0 FS-7508: WIP vp9 stuff 2015-05-28 12:47:12 -05:00
Anthony Minessale 35c6a1479d FS-7500: move flags up 2015-05-28 12:47:11 -05:00
Anthony Minessale d418fb37ed FS-7500: init dtmf to 0 2015-05-28 12:47:11 -05:00
Anthony Minessale 5fcb594246 FS-7500: add partition mode to switch_buffer 2015-05-28 12:47:11 -05:00
Anthony Minessale 8f3788abce FS-7500: wtf 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
Seven Du 1a31f1f183 add vp9 passthru 2015-05-28 12:47:11 -05:00
Anthony Minessale 39730182e5 FS-7514: add logging to vlc 2015-05-28 12:47:11 -05:00
Anthony Minessale 80fdf7a24c FS-7514: add sanity check for framing 2015-05-28 12:47:11 -05:00
Anthony Minessale 6db97cae7e FS-7514: add youtube stream name 2015-05-28 12:47:11 -05:00
Anthony Minessale bc09ade1a5 FS-7514: merge conflict from hell 2015-05-28 12:47:10 -05:00
Anthony Minessale dc2e4c42ca FS-7514: amend 2015-05-28 12:47:10 -05:00
Anthony Minessale bffdac0bb7 FS-7514: add file params to set some optimal settings from conference into recording handle and make streaming better 2015-05-28 12:47:10 -05:00
Seven Du ae8ddfd4f1 FS-7518: add mod_mp4v2
libmp4v2-dev is required for this mod
2015-05-28 12:47:10 -05:00
Seven Du 39bd8adbdc FS-7514: fix binary & 2015-05-28 12:47:10 -05:00
Anthony Minessale 41577304ad FS-7514: add write to rtmp transparent wrapper 2015-05-28 12:47:10 -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
Anthony Minessale fa2f274c61 FS-7513: move layout switching to muxing thread for more protection 2015-05-28 12:47:10 -05:00
Seven Du 9d635f57ef add MP3 codec interface 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 6f379f43c1 FS-7500: fix calculation bug in switch_img_fit 2015-05-28 12:47:10 -05:00
Seven Du b7fc2e047d add 48k PCMU support 2015-05-28 12:47:09 -05:00
Anthony Minessale cd9dd44a16 FS-7514: reduce default 2015-05-28 12:47:09 -05:00
Anthony Minessale e3d79947fc FS-7513: reset layer on aspect change 2015-05-28 12:47:09 -05:00
Anthony Minessale 8b47053915 FS-7514: drop extra frames 2015-05-28 12:47:09 -05:00
Anthony Minessale c9cccd519a FS-7509: add some more bandwidth control features 2015-05-28 12:47:09 -05:00
Anthony Minessale 3e7c0f6558 FS-7499: fix seg 2015-05-28 12:47:09 -05:00
Anthony Minessale 6e05e09e9a FS-7500: missing newline 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 e7ab257c45 FS-7513: revert 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 7fe734e1f9 FS-7513: move thread create and fix missing mutex unlock 2015-05-28 12:47:08 -05:00
Anthony Minessale 5b9ada2b43 FS-7509 FS-7513: add vid floor control 2015-05-28 12:47:08 -05:00
Anthony Minessale 7cf3cb0cda FS-7513: move vb to each member for less contention 2015-05-28 12:47:08 -05:00
Anthony Minessale 0cd254ef8f FS-7513: fix banner disappearing when vid muting 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 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 5ac63b9250 FS-7514: pop only newest frame on video file read to keep sync 2015-05-28 12:47:08 -05:00
Anthony Minessale 289c7925aa FS-7508: reset packet data on codec reset 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 4b21a45e9e FS-7513: fix typo 2015-05-28 12:47:07 -05:00
Anthony Minessale 78d06832e7 FS-7500: add force flag 2015-05-28 12:47:07 -05:00
Anthony Minessale dbec35e734 FS-7513: move code up 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 9a7a33fb55 FS-7500: block in flag set for wait for video ready 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 d5f67d46db FS-7514: typo 2015-05-28 12:47:07 -05:00
Anthony Minessale e13c7bc70e FS-7514: add m4v 2015-05-28 12:47:07 -05:00
Anthony Minessale 7dba838926 FS-7513: fix read lock bug 2015-05-28 12:47:07 -05:00
Anthony Minessale c255ba7e8f FS-7514: work on sync a little more 2015-05-28 12:47:07 -05:00
Anthony Minessale eb78d2ae7b FS-7499: ignore replay errs when nack is enabled 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 36e754eed2 FS-7503: recording tweak 2015-05-28 12:47:06 -05:00
Anthony Minessale 780eef3fc1 FS-7514: add mov 2015-05-28 12:47:06 -05:00
Anthony Minessale 69fd32f8ef FS-7500: set decoded read mode 2015-05-28 12:47:06 -05:00
Seven Du 455c20983f FS-7514: vlc endpoint stereo support, add vlc_rate and vlc_channels 2015-05-28 12:47:06 -05:00
Anthony Minessale 500b32b343 FS-7509 FS-7514: another round of cleanup 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
Seven Du 4289a7ec59 FS-7519: initial version of record_av to record mp4
it generate better compatible mp4 than vlc, so it compatible with quicktime and safari
except that the first few video frames messed up, maybe some pts issue, to be fixed

support float audio, and it can save to webm
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 19d87c46fd FS-7514: sigh 2015-05-28 12:47:05 -05:00
Anthony Minessale 69b955c13b FS-7514: add sync offset default to 500ms 2015-05-28 12:47:05 -05:00
Anthony Minessale 6b289ed02a FS-7514: slow down vlc callback by syncing with video flow 2015-05-28 12:47:05 -05:00
Anthony Minessale af0f2e6ea8 FS-7514: buffer video too for vlc 2015-05-28 12:47:05 -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
Seven Du c59874cbff FS-7517 FS-7508: typo 2015-05-28 12:47:05 -05:00
Brian West 8c9acc4316 FS-7517: Fix mod_openh264 include 2015-05-28 12:47:05 -05:00
Mike Jerris 086cf1c279 FS-7500: expand libpng detection to try to find a good png >= 1.6.16, fall back to older verison in weezy, and add support for building without libpng 2015-05-28 12:47:05 -05:00
Anthony Minessale c02f694c37 FS-7509: add a way to choose bandwidth 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 632c781c1c FS-7513 FS-7509: add control for png and fix bug with null args 2015-05-28 12:47:04 -05:00
Anthony Minessale 74f25524f1 FS-7513: add some controls 2015-05-28 12:47:04 -05:00
Anthony Minessale 1c6a15fde4 FS-7513: add canvas refresh to redraw gaps on overlap enter/exit 2015-05-28 12:47:04 -05:00
Anthony Minessale 09704516d7 FS-7513: fix sticky floor lock 2015-05-28 12:47:04 -05:00
Anthony Minessale f8729d5440 FS-7500: make video bandwidth accurate for vpx 2015-05-28 12:47:04 -05:00
Anthony Minessale 93db69ed03 FS-7500: can't use stristr for this 2015-05-28 12:47:04 -05:00
Anthony Minessale ae4686013a FS-7513: add mutex 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 4584e6a8e4 FS-7513: add reset on canvas change 2015-05-28 12:47:03 -05:00
Anthony Minessale 270aba6849 FS-7513: improve reservation id and layout switching with overlap 2015-05-28 12:47:03 -05:00
Anthony Minessale 16b752a957 FS-7513: don't call force on unset 2015-05-28 12:47:03 -05:00
Anthony Minessale 356a501b7c FS-7508: reduce vpx memory footprint 2015-05-28 12:47:03 -05:00
Anthony Minessale 9bc84051f6 FS-7513: fix possible mem leak 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 84074ab804 FS-7513: cleanup 2015-05-28 12:47:02 -05:00
Anthony Minessale 7307005c56 FS-7513: clear screen on unvmute 2015-05-28 12:47:02 -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
Seven Du f4fad4e756 FS-7500: fix seg 2015-05-28 12:47:02 -05:00
Anthony Minessale 704c036593 FS-7513: change name of flag to make sense 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 ae68efd48e FS-7500: assert on neg coordinates causes a seg on free if they are used 2015-05-28 12:47:02 -05:00
Anthony Minessale eca9107498 FS-7513: add video mute and suite of controls 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
Anthony Minessale 98db5879bd FS-7513: remove extra mutex 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 e868e6eec9 FS-7513: refactor reset_image, we do not need the round to even anymore, actually it causes side effects 2015-05-28 12:47:01 -05:00
Seven Du 18a896d39d FS-7513: trying to fix mutex 2015-05-28 12:47:01 -05:00
Seven Du 9faf03c91e FS-7500: be safe for patch and fill, off by 1 2015-05-28 12:47:01 -05:00
Seven Du c70e8cf216 FS-7500: add yuv2rgb 2015-05-28 12:47:01 -05:00
Seven Du b90ef728f3 FS-7500: fix rgb2yuv typo 2015-05-28 12:47:01 -05:00
Seven Du 061bcb063a FS-7500: fix patch and fill on an odd position 2015-05-28 12:47:01 -05:00
Anthony Minessale b808099f6a FS-7513: try 30 again 2015-05-28 12:47:01 -05:00
Anthony Minessale 160d3bb817 FS-7513: add mutex 2015-05-28 12:47:01 -05:00
Seven Du 2841319037 FS-7500: fix compiler warning 2015-05-28 12:47:01 -05:00
Anthony Minessale dba3f8429d FS-7513: try out 25fps 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
Anthony Minessale e84d7b8c89 FS-7513: banner control and layout bgcolor param 2015-05-28 12:47:00 -05:00
Anthony Minessale 4afc59370a FS-7513: do banner with set rect so we don't have to keep patching it in 2015-05-28 12:47:00 -05:00
Anthony Minessale 47cb08c491 FS-7513: don't attach when you don't have video 2015-05-28 12:47:00 -05:00
Anthony Minessale a8e8f2e149 FS-7513: factor conditional back out and use fixed 30FPS timer 2015-05-28 12:47:00 -05:00
Anthony Minessale 6f39539308 FS-7513: comment demo code and set bg color with new anti-alias 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
Seven Du a446d8411e FS-7513: clean white spaces 2015-05-28 12:47:00 -05:00
Seven Du 187b0c1485 FS-7506: fix pen position and add mono font support 2015-05-28 12:47:00 -05:00
Anthony Minessale 0b496715f9 FS-7513: dup sring before chopping it up 2015-05-28 12:47:00 -05:00
Anthony Minessale 0115fa192e FS-7513: keyframe every 10 on conf 2015-05-28 12:47:00 -05:00
Anthony Minessale b2fa835a0a FS-7513: only use timer when needed 2015-05-28 12:47:00 -05:00
Anthony Minessale 0ca774e4cf FS-7513: don't need to free that 2015-05-28 12:47:00 -05:00
Anthony Minessale d7127764e8 FS-7506 FS-7513: banner update 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 8a1cb14015 FS-7499: trying to fix rtp data len when rtp extension is used
duplicated some code from 4943~4953, but that code has it's own problem, it forget to reset *bytes results to
larger frame->datalen could read beyond the buffer, and it also makes stats not accurate. But if we reset *bytes
at that place, then later the switch_vb_put_packet has problem because it depends that *bytes. this patch should
fix the datalen at least buf still leaves duplicated code and inaccurate stats.
2015-05-28 12:46:59 -05:00
Seven Du ff076afaae FS-7506: utf8 support of draw text 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
Seven Du 0a015f4c76 FS-7517: fix hardcoded width and height on video reset 2015-05-28 12:46:59 -05:00
Seven Du 2842dedc21 FS-7500: refactor switch_img_patch, it was made complicated than it should be 2015-05-28 12:46:59 -05:00
Seven Du ba9c2f38a7 FS-7513: round screen size to even numbers to prevent green lines on edge with 1up_top_left+5 and 6x6 layouts 2015-05-28 12:46:59 -05:00
Seven Du af034b2713 FS-7513: fix compile w/o openal 2015-05-28 12:46:59 -05:00
Anthony Minessale 39253d9fd2 FS-7513: revert 2015-05-28 12:46:59 -05:00
Anthony Minessale c9e0a389bd FS-7513: remove locking 2015-05-28 12:46:59 -05:00
Anthony Minessale 1deca68e37 FS-7513: fix math on image resizing 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 8be96b106e FS-7513: refactor some screen switching and layout stuff 2015-05-28 12:46:58 -05:00
Anthony Minessale d8ce20e6bf FS-7513: clear group when switching to standard layout 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 8f00bd1173 FS-7513: make group change sticky when done from cli command 2015-05-28 12:46:58 -05:00
Seven Du 7764b4ea32 FS-7513: cleanup white spaces 2015-05-28 12:46:58 -05:00
Seven Du 78067a890c FS-7517: update to openh264 commit 3f19534dd6118b96ce73073ae1e047490c71b6e6 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 3e323e3b09 FS-7513: add auto layout advance based on group 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 58a8d5daa6 FS-7513: remove extra memset since it's already garanteed in switch_core_alloc 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 7400d73c93 FS-7513: refactor thread 2015-05-28 12:46:57 -05:00
Anthony Minessale b600b0b6ee FS-7508: add avg duration into codec 2015-05-28 12:46:57 -05:00
Anthony Minessale d8241a12ea FS-7499: comment out sip based picture update 2015-05-28 12:46:57 -05:00
Seven Du 74f4b1800b FS-7513: fix copy and paste error 2015-05-28 12:46:57 -05:00
Seven Du 4b1979a119 FS-7513: fix compiler warning about uninitialized var and make sure allocated memory is filled with 0 2015-05-28 12:46:57 -05:00
Anthony Minessale a6dbc2c6f8 FS-7513: fix overlap 2015-05-28 12:46:57 -05:00
Anthony Minessale 8915516c13 FS-7513: here's a story....... of a lovely feature 2015-05-28 12:46:56 -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
Seven Du 7bdd80499d FS-7513: fix assert 2015-05-28 12:46:56 -05:00
Seven Du d93f304b25 FS-7501: comment out unused function to shut warning on Mac 2015-05-28 12:46:56 -05:00
Anthony Minessale 91c20769ed FS-7513: conf WIP 2015-05-28 12:46:56 -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 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 260e277f36 FS-7513: conf WIP hard code 4x4 squares in 720p more to come 2015-05-28 12:46:56 -05:00
Anthony Minessale 7ccbf44725 FS-7500: fix missing division 2015-05-28 12:46:55 -05:00
Seven Du bc4e9704b8 FS-7513: refactor mcu code, put everyone on a canvas and send out using a dedicated thread with a constant FPS 2015-05-28 12:46:55 -05:00
Seven Du 7c0237c142 FS-7500: really fix image copy 2015-05-28 12:46:55 -05:00
Anthony Minessale d87cfae0c9 FS-7513: more conf vid WIP 2015-05-28 12:46:55 -05:00
Anthony Minessale 2f5989c453 FS-7500: fix compile err 2015-05-28 12:46:55 -05:00
Seven Du 89c02eada9 FS-7500: fix image copy 2015-05-28 12:46:55 -05:00
Anthony Minessale 387cbc9dda FS-7513: WIP CONF STUFF 2015-05-28 12:46:55 -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 982d05c30c FS-7501: fix vid buffer reset 2015-05-28 12:46:55 -05:00
Anthony Minessale e00fbe5aad FS-7508: reduce error freq 2015-05-28 12:46:55 -05:00
Anthony Minessale e79a24ed2b FS-7513: more floor stuff 2015-05-28 12:46:54 -05:00
Anthony Minessale deca70c270 FS-7513: adjust floor change code 2015-05-28 12:46:54 -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 f110ce40e2 FS-7501: mod of video i/o for jb 2015-05-28 12:46:54 -05:00
Anthony Minessale 0c56081975 FS-7499: copy port to where apr keeps it too 2015-05-28 12:46:54 -05:00
Anthony Minessale 2983c7e6df FS-7499: keep track of from addr from rtp separate since on ice you get stun packets etc from other ip. This helps auto adjust work properly 2015-05-28 12:46:54 -05:00
Anthony Minessale d2bbd50791 FS-7513: tweak locking on video read callback 2015-05-28 12:46:54 -05:00
Anthony Minessale a006d53a3d FS-7499: tweak nack and fir handling 2015-05-28 12:46:54 -05:00
Anthony Minessale d56a681f0a FS-7513: reduce complexity of video_bridge feature 2015-05-28 12:46:54 -05:00
Anthony Minessale 9e4eff192f FS-7513: fix vid floor logic 2015-05-28 12:46:54 -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 d026624631 FS-7513: restore video relationships and refactor conference to use video_read callbacks instead of its own thread and change behavior so video floor holder never sees their own video unless they are the only one with video in the conference 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 ac2e1b692e FS-7501: tweak some settings on jb 2015-05-28 12:46:53 -05:00
Anthony Minessale 6b92f8624c FS-7501: remove debug 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 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
Anthony Minessale 79ffc95928 FS-7514: keep pointer pointed 2015-05-28 12:46:52 -05:00
Anthony Minessale b63683ade0 FS-7501: more code 2015-05-28 12:46:52 -05:00
Anthony Minessale 785ecdb39e FS-7508: revert 2015-05-28 12:46:52 -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
Anthony Minessale 0e991e7d0f FS-7501: connect video buffer for testing, still needs a lot of work 2015-05-28 12:46:52 -05:00
Anthony Minessale 91b88aefe7 FS-7517: this mode is more reliable, default for now 2015-05-28 12:46:52 -05:00
Anthony Minessale 2a50c6d55c FS-7501: use vidderbuffer in rtp 2015-05-28 12:46:52 -05:00
Anthony Minessale 7b323f0b17 FS-7501: add vidderbuffer 2015-05-28 12:46:52 -05:00
Seven Du f6484f5bf4 FS-7517: add warning dropped from 0353e45 back in case it still happens 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 faa99a7a47 FS-7499: don't send fir or pli till stun is established 2015-05-28 12:46:51 -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 1d844f150b FS-7514: don't auto answer in decode_video 2015-05-28 12:46:51 -05:00
Anthony Minessale 753f49fe32 FS-7517: use start and end bits 2015-05-28 12:46:51 -05:00
Anthony Minessale f5346bfe80 FS-7517: Reset context->nalu_28_start on mark bit - This makes FU-A parsing work 2015-05-28 12:46:51 -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 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 e1321c8775 FS-7517: fix pack mode 1 2015-05-28 12:46:51 -05:00
Anthony Minessale bc3ee71f87 FS-7517: this seems to actually work for some reason 2015-05-28 12:46:51 -05:00
Anthony Minessale a64d8b01d1 FS-7517: doh 2015-05-28 12:46:51 -05:00
Anthony Minessale 43ec552252 FS-7517: hack workaround in, its better than the way it is, must be fixed 2015-05-28 12:46:50 -05:00
Anthony Minessale de4a0e7a3c FS-7500: nevermind 2015-05-28 12:46:50 -05:00
Anthony Minessale be21d4f28f FS-7500: use unsigned int for frame->timestamp 2015-05-28 12:46:50 -05:00
Seven Du 23410ab94a FS-7514: use a larger and not hardcoded buffer for video packet 2015-05-28 12:46:50 -05:00
Anthony Minessale 970064294c FS-7500: refactoring 2015-05-28 12:46:50 -05:00
Anthony Minessale b0fd27bb8f FS-7500: comment debug 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 91602e9cfa FS-7499: properly decode rtcp 2015-05-28 12:46:49 -05:00
Anthony Minessale 01aea82cbe FS-7519: add debug line 2015-05-28 12:46:49 -05:00
Anthony Minessale 03d870bb19 FS-7508: revert chage to debounce key reqs 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
Seven Du e3ffa73636 FS-7519 FS-7517: looks like decoders don't decode FU-A bit steams, this is a simple implementation that works with some FU-A bit streams, mod_av works better most cases 2015-05-28 12:46:49 -05:00
Seven Du 978748ed09 FS-7519: set encoder zerolatency 2015-05-28 12:46:49 -05:00
Anthony Minessale 45898cfad7 FS-7500: better version of last commit 2015-05-28 12:46:49 -05:00
Anthony Minessale b747687bb2 FS-7500: set ssrc from frame not rtp session so the ssrc changing coded can detect a shift 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
Seven Du 81bec5ebd0 FS-7519: add missing deps 2015-05-28 12:46:48 -05:00
Anthony Minessale 2e1bdfb24a FS-7519: add automistake for mod_av 2015-05-28 12:46:48 -05:00
Anthony Minessale 8a56d8a086 FS-7508: seems to work better restarting on error 2015-05-28 12:46:48 -05:00
Seven Du 5ce10274e1 FS-7500: use the new video function instead of start a new thread in record_fsv 2015-05-28 12:46:48 -05:00
Seven Du ba43facf91 FS-7500: fix play_fsv for WebRTC 2015-05-28 12:46:48 -05:00
Seven Du dcb9d3c99e FS-7519: rename mod_ffmpeg to mod_av 2015-05-28 12:46:48 -05:00
Seven Du 4c95ae0510 cleanup mod_ffmpeg 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 85d34e7ac9 FS-7514: SQUASH ME 2015-05-28 12:46:47 -05:00
Anthony Minessale 6402f3533c FS-7514: vlc audio buffer tweak 2015-05-28 12:46:47 -05:00
Anthony Minessale 79bc5bcda2 FS-7513: add video decode conference flag 2015-05-28 12:46:47 -05:00
Anthony Minessale fbe347ead4 add mod_ffmpeg 2015-05-28 12:46:47 -05:00
Anthony Minessale e83db9e249 FS-7517: remove debug 2015-05-28 12:46:47 -05:00
Anthony Minessale 57bbdc929b FS-7500: remove debug code 2015-05-28 12:46:47 -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 140a1c9661 FS-7500 FS-7508: shift some hacks around 2015-05-28 12:46:47 -05:00
Anthony Minessale c584bf5511 FS-7500: reverse default for CF_VIDEO_ECHO to false and now it must be enabled when desired instead of disabled when not needed 2015-05-28 12:46:47 -05:00
Anthony Minessale 4dc155f164 FS-7500: add switch_core_session_raw_read to put session into raw read mode without needing a local codec var (WE SHOULD REFACTOR MUCH OF switch_ivr_* to use this...) and add echo_decode_audio option to echo app 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
Seven Du 55c5f1da1f FS-7500: fix decode_video App 2015-05-28 12:46:46 -05:00
Seven Du aa654da777 FS-7500: use SWITCH_DEFAULT_VIDEO_SIZE as slice size 2015-05-28 12:46:46 -05:00
Seven Du 3c7fc85a31 FS-7500: add more example yuv files 2015-05-28 12:46:46 -05:00
Seven Du 3b7bdac4b9 FS-7517: mod_openh264 follows up the new encoder flow 2015-05-28 12:46:45 -05:00
Anthony Minessale e7d34f3170 FS-7508: tolerate some messed up packets a little more 2015-05-28 12:46:45 -05:00