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
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