- 動画 https://www.youtube.com/watch?v=Q-FJ3XmFlT8&feature=youtu.be&t=1121
- 講演開始は 0:18:40 から
今回の狙い
- TDDは言葉はよく知られているが、実際にやっている人は多くない
- そのためイメージ先行の誤解が多い
- 実際に見てもらうことで正しく理解してほしい
今回の狙い
| /root/webrtc/src/third_party/llvm-build/Release+Asserts/bin/clang++ --sysroot=/root/rootfs --target=arm-linux-gnueabihf -Wno-macro-redefined -fno-lto -std=c++11 -pthread -DWEBRTC_POSIX -DOPENSSL_IS_BORINGSSL -Isrc/ -I/root/webrtc/src -I/root/webrtc/src/third_party/libyuv/include -I/root/webrtc/src/third_party/abseil-cpp -DMOMO_VERSION='"19.02.0"' -DUSE_H264=1 -fpic -I/root/rootfs/usr/include/arm-linux-gnueabihf -mfloat-abi=hard -march=armv7-a -mtune=generic-armv7-a -mfpu=neon -mthumb -DUSE_IL_ENCODER=1 -DSTANDALONE -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -D_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -U_FORTIFY_SOURCE -g -DHAVE_LIBOPENMAX=2 -DOMX -DOMX_SKIP64BIT -ftree-vectorize -pipe -DUSE_EXTERNAL_OMX -DHAVE_LIBBCM_HOST -DUSE_EXTERNAL_LIBBCM_HOST -DUSE_VCHIQ_ARM -I/root/rootfs/opt/vc/include/ -Ilibs/ilclient/ -I. -D_LIBCPP_ABI_UNSTABLE -nostdinc++ -isystem/root/webrtc/src/buildtools/third_party/libc++/trunk/include -I/root/boost-1.69.0/include -I/root/we | 
| # Ubuntu 16.04 and aiortc | |
| FROM ubuntu:16.04 | |
| MAINTAINER mganeko | |
| #ENV http_proxy "http://proxy.yourdomain.com:8080/" | |
| #ENV https_proxy "http://proxy.yourdomain.com:8080/" | |
| # -- build step -- | |
| RUN apt update | 
https://github.com/mganeko/browser_mcu
(ディレクトリ構成は変更予定)
| let remoteVideo0 = document.getElementById('webrtc-remote-video-0'); | |
| let remoteVideo1 = document.getElementById('webrtc-remote-video-1'); | |
| let remoteVideo2 = document.getElementById('webrtc-remote-video-2'); | |
| let remoteVideo3 = document.getElementById('webrtc-remote-video-3'); | |
| let canvasMix = document.getElementById('canvas_mix'); | |
| let ctxMix = canvasMix.getContext('2d'); | |
| ctxMix.fillStyle = 'rgb(128, 192, 128)'; | |
| let mixStream = null; | 
| let remoteVideo0 = document.getElementById('webrtc-remote-video-0'); | |
| let remoteVideo1 = document.getElementById('webrtc-remote-video-1'); | |
| let remoteVideo2 = document.getElementById('webrtc-remote-video-2'); | |
| let remoteVideo3 = document.getElementById('webrtc-remote-video-3'); | |
| let canvasMix = document.getElementById('canvas_mix'); | |
| canvasMix.addEventListener('mousedown', clickMixCenter, false); | |
| canvasMix.addEventListener('mousemove', moveMixCenter, false); | 
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
| <title>recording Firefox 201510</title> | |
| </head> | |
| <body> | |
| <h2>MediaRecorder Demo for Firefox</h2> | |
| <button id="start_button" onclick="startVideo()">StartVideo</button> | |
| <button id="stop_button" onclick="stopVideo()">StopVideo</button> | 
| function logSIMD(arg1, arg2, opt, res) { | |
| console.log(opt + '( ' + arg1.toSource() + ' , ' + arg2.toSource() + ' ) ==> ' + res.toSource()); | |
| } | |
| var a = SIMD.Float32x4(1.0,2.0,3.0,4.0); | |
| var b = SIMD.Float32x4(5.0,6.0,7.0,8.0); | |
| var c = SIMD.Float32x4.add(a,b); | |
| //console.log(c.toSource()); | |
| logSIMD(a, b, "add", c); | 
| // | |
| // This code parses binary format of WebM file. | |
| // recognizes only some important TAGs | |
| // | |
| // Limitation: | |
| // This programs reads all binary at once in memory (100MB). | |
| // It is very bad imprementation, but it is still enough for some small WebM file. | |
| // | |
| // Usage: | |
| // node parse_webm.js filename | 
| <!DOCTYPE html> | |
| <html> | |
| <head> | |
| <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> | |
| <title>WebRTC 1to1</title> | |
| <!--- this is demo for http://www.slideshare.net/mganeko/chromebook-webrtc --> | |
| <!-- please install simple message server from here: https://chrome.google.com/webstore/detail/simple-message-server/bihajhgkmpfnmbmdnobjcdhagncbkmmp --> | |
| </head> | |
| <body> | |
| <button type="button" onclick="startVideo();">Start video</button> |