Wrote a "file capture device" which is a kind of fake capture device. It reads a YUV file from disk and pretends that it is what the "camera" is seeing. This makes is possible to run tests based on video input without having an actual physical camera. This is good because physical cameras are quite unreliable.
Rewrote the standard mirrored preview loopback test so it can use the new file capture device. The old "classic" test is preserved. I tried to minimize duplication between the classic test case and the new one, which turned out to be quite painful.
There are some rough edges left in in the code. Suggested improvements is to get rid of the error counting mechanism since the code seems to assume that TestError invocations cause hard asserts anyway. The code will segfault for certain errors if the hard asserts doesn't happen, which means the error counting mechanism is unnecessary. This, by the way, could be a problem for the new test since it doesn't cause hard asserts.
Fixed comments for the thread wrapper and the external capture device interface.
BUG=
TEST=
Review URL: http://webrtc-codereview.appspot.com/224003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@801 4adac7df-926f-26a2-2b94-8c16560cd09d
The dummy implementations of class methods are needed when
building without support for data logging (i.e., when
enable_data_logging != 1). The Combine method was missing
from data_log_dummy.cc.
Review URL: http://webrtc-codereview.appspot.com/220003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@724 4adac7df-926f-26a2-2b94-8c16560cd09d
A pure C wrapper for the DataLog class was created. Since templates
are not supported in C, the InsertCell method of the DataLog class
must be wrapped using one wrapper function for each data type. So far,
the wrapper includes int, float, double, Word32, UWord32, and Word64.
Unittests were created for the wrapper. A separate helper file was
included in the tests. This helper file was implemented as a C file,
in order to actually test the C linkage of the wrapper.
The unittests for DataLog were cloned to make versions that do the same
things but through the C wrapper interface. Restructured the code
so that the log file verification was not duplicated.
Review URL: http://webrtc-codereview.appspot.com/195003
git-svn-id: http://webrtc.googlecode.com/svn/trunk@715 4adac7df-926f-26a2-2b94-8c16560cd09d
The previous defines controlling SSE2 use assumed GCC. To fix this:
- Import a chunk of defines to typedefs.h from Chrome's build_config.h, primarily to get WEBRTC_ARCH_X86_FAMILY.
- Add a check derived from WebP to define WEBRTC_USE_SSE2.
- Modify cpu_features.cc to work with MSVC. This code is borrowed from chrome/src/base/cpu.cc.
- Change AEC defines to use WEBRTC_USE_SSE2.
- Remove disable_sse2 check from aec.gyp. This is handled by WEBRTC_USE_SSE2.
(Also remove a bit of unused code from aec_core.h)
Review URL: http://webrtc-codereview.appspot.com/95008
git-svn-id: http://webrtc.googlecode.com/svn/trunk@299 4adac7df-926f-26a2-2b94-8c16560cd09d