Commit Graph

28396 Commits

Author SHA1 Message Date
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
Anthony Minessale 40ee25f5b8 FS-7508: change vpx encoder to not re-init the whole codec, it messes it up but side effect, we need to init the encoder at 4k and scale down to aovid the vpx resize seg 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 6822994d25 FS-7500: video_decoded_echo to echo_decode_video 2015-05-28 12:46:45 -05:00
Anthony Minessale 1093139271 FS-7500: make play_yuv silent since opus echo tends to kill chrome 2015-05-28 12:46:45 -05:00
Anthony Minessale fe957fe66a FS-7500: remove temp bridge echo hack 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 ec9b7c0499 FS-7500: add video_decoded_echo var to make the echo app decode and re-encode video frames for testing 2015-05-28 12:46:45 -05:00
Seven Du 2d49b33002 FS-7500: fix follows the last refactor of core code 2015-05-28 12:46:45 -05:00
Anthony Minessale 73b2a5ea87 FS-7500: tmp comment 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
Anthony Minessale d4a5ebf97d FS-7500 FS-7517 FS-7508 FS-7514: chrome working on most, bria working on some 2015-05-28 12:46:44 -05:00
Anthony Minessale 9fdb54766c FS-7508 FS-7517: import h264 and vpx codec files 2015-05-28 12:46:44 -05:00
Anthony Minessale d0d2e03672 FS-7514: [mod_vlc] temp workaround 2015-05-28 12:46:44 -05:00
Anthony Minessale 8cda93eac0 FS-7508: add autoconf for vpx lib 2015-05-28 12:46:44 -05:00
Brian West cd98ec85e2 fix line endings 2015-05-28 12:46:43 -05:00
Seven Du 3466a2e468 FS-7500: fix and use 32bit timestamp, frame->timestamp is defined as switch_size_t and not always 32bit 2015-05-28 12:46:43 -05:00
Seven Du 055de41484 FS-7513: let the core thread to read video if vid-floor in conference already locked-hold by someone else 2015-05-28 12:46:43 -05:00
William King 4fc94e3907 FS-7500 S-7513: Few build fixes 2015-05-28 12:46:43 -05:00
Seven Du 99ed41a4bd FS-7513: Example code to use the core video thread with a custom callback
It by default remains the default behaviour

However, you can setup a relationship between members to let the
member choose to see anyone else but the floor, e.g.:

  conference 3000 relate 1 2 sendvideo

In the above command member 2 will see member 1's video regardless
member 1 has video floor or not
2015-05-28 12:46:43 -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 422a1f0419 FS-7513: show relationships 2015-05-28 12:46:43 -05:00
Seven Du 48c1363476 FS-7513: force floor on member join 2015-05-28 12:46:43 -05:00
Seven Du d33e5659f6 FS-7514: refresh req on vlc channel 2015-05-28 12:46:43 -05:00
Seven Du 78efac8154 FS-7514: not hardcoded H264 anymore 2015-05-28 12:46:43 -05:00
Seven Du 282b04a880 FS-7514: cleanup 2015-05-28 12:46:43 -05:00
Seven Du 240ec72fa4 FS-7514: allows the core video thread to read from the vlc endpoint 2015-05-28 12:46:43 -05:00
Seven Du 8e5cbb0e26 FS-7514: follow the last core_video refactor 2015-05-28 12:46:42 -05:00
Seven Du f3ad699526 FS-7500: update yuv codec 2015-05-28 12:46:42 -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
Seven Du bcbdf8a347 FS-7500: add switch_core_video code 2015-05-28 12:46:42 -05:00
Seven Du 71cafe536b FS-7500: add decode_video App 2015-05-28 12:46:42 -05:00
Seven Du 74d6db8809 FS-7514: refactor timestamp code 2015-05-28 12:46:42 -05:00
Seven Du c9a13474a4 FS-7517: add play_yuv to test encoder 2015-05-28 12:46:42 -05:00
William King 6dec4de2fe FS-7508 FS-7517: [build] Convert the build over to automake, though there is still room to fix
the autoconf portion to detect the correct location of libopenh264

Basic conversion for vpx too.
Borrowing from ldns handling, setup mod_vpx to prompt for the required library when the module is enabled
2015-05-28 12:46:42 -05:00
Seven Du 4af7e7c68d FS-7514: vlc video 2015-05-28 12:46:42 -05:00