The FakeVideoCaptureDevice shipped with chrome is used in many unit and integration tests and can be configured to mimic various behaviors of real video capture devices.
However, there is on important difference, which is that the FakeVideoCaptureDevice does not use its own thread to deliver frames. Instead it operates on the thread of the caller. This difference has already lead to various timing and ordering issues not getting detected by test cases using the fake device.
The task here is to add a configuration option to the fake device that makes it operate on a dedicated thread.