| Index: media/video/capture/fake_video_capture_device.cc
|
| diff --git a/media/video/capture/fake_video_capture_device.cc b/media/video/capture/fake_video_capture_device.cc
|
| index 68dc9123e5dfedfbe7f83799b91ad3ce977f2b6d..302396a22b8bd77a1c67cbd2d983d01a5564fb6f 100644
|
| --- a/media/video/capture/fake_video_capture_device.cc
|
| +++ b/media/video/capture/fake_video_capture_device.cc
|
| @@ -17,77 +17,8 @@
|
|
|
| namespace media {
|
|
|
| -static const int kFakeCaptureTimeoutMs = 50;
|
| static const int kFakeCaptureBeepCycle = 10; // Visual beep every 0.5s.
|
| static const int kFakeCaptureCapabilityChangePeriod = 30;
|
| -enum { kNumberOfFakeDevices = 2 };
|
| -
|
| -bool FakeVideoCaptureDevice::fail_next_create_ = false;
|
| -base::subtle::Atomic32 FakeVideoCaptureDevice::number_of_devices_ =
|
| - kNumberOfFakeDevices;
|
| -
|
| -// static
|
| -size_t FakeVideoCaptureDevice::NumberOfFakeDevices(void) {
|
| - return number_of_devices_;
|
| -}
|
| -
|
| -// static
|
| -void FakeVideoCaptureDevice::GetDeviceNames(Names* const device_names) {
|
| - // Empty the name list.
|
| - device_names->erase(device_names->begin(), device_names->end());
|
| -
|
| - int number_of_devices = base::subtle::NoBarrier_Load(&number_of_devices_);
|
| - for (int32 n = 0; n < number_of_devices; n++) {
|
| - Name name(base::StringPrintf("fake_device_%d", n),
|
| - base::StringPrintf("/dev/video%d", n));
|
| - device_names->push_back(name);
|
| - }
|
| -}
|
| -
|
| -// static
|
| -void FakeVideoCaptureDevice::GetDeviceSupportedFormats(
|
| - const Name& device,
|
| - VideoCaptureFormats* supported_formats) {
|
| -
|
| - const size_t supported_sizes_length = 3;
|
| - const gfx::Size supported_sizes[] = {gfx::Size(320, 240),
|
| - gfx::Size(640, 480),
|
| - gfx::Size(1280, 720)};
|
| - int frame_rate = 1000 / kFakeCaptureTimeoutMs;
|
| - supported_formats->clear();
|
| - for (size_t i=0; i < supported_sizes_length; ++i) {
|
| - supported_formats->push_back(VideoCaptureFormat(supported_sizes[i],
|
| - frame_rate,
|
| - media::PIXEL_FORMAT_I420));
|
| - }
|
| -}
|
| -
|
| -// static
|
| -VideoCaptureDevice* FakeVideoCaptureDevice::Create(const Name& device_name) {
|
| - if (fail_next_create_) {
|
| - fail_next_create_ = false;
|
| - return NULL;
|
| - }
|
| - int number_of_devices = base::subtle::NoBarrier_Load(&number_of_devices_);
|
| - for (int32 n = 0; n < number_of_devices; ++n) {
|
| - std::string possible_id = base::StringPrintf("/dev/video%d", n);
|
| - if (device_name.id().compare(possible_id) == 0) {
|
| - return new FakeVideoCaptureDevice();
|
| - }
|
| - }
|
| - return NULL;
|
| -}
|
| -
|
| -// static
|
| -void FakeVideoCaptureDevice::SetFailNextCreate() {
|
| - fail_next_create_ = true;
|
| -}
|
| -
|
| -// static
|
| -void FakeVideoCaptureDevice::SetNumberOfFakeDevices(size_t number_of_devices) {
|
| - base::subtle::NoBarrier_AtomicExchange(&number_of_devices_,
|
| - number_of_devices);
|
| -}
|
|
|
| FakeVideoCaptureDevice::FakeVideoCaptureDevice()
|
| : capture_thread_("CaptureThread"),
|
| @@ -124,6 +55,14 @@ void FakeVideoCaptureDevice::StopAndDeAllocate() {
|
| capture_thread_.Stop();
|
| }
|
|
|
| +void FakeVideoCaptureDevice::PopulateVariableFormatsRoster(
|
| + const VideoCaptureFormats& formats) {
|
| + DCHECK(thread_checker_.CalledOnValidThread());
|
| + DCHECK(!capture_thread_.IsRunning());
|
| + format_roster_ = formats;
|
| + format_roster_index_ = 0;
|
| +}
|
| +
|
| void FakeVideoCaptureDevice::OnAllocateAndStart(
|
| const VideoCaptureParams& params,
|
| scoped_ptr<VideoCaptureDevice::Client> client) {
|
| @@ -142,8 +81,6 @@ void FakeVideoCaptureDevice::OnAllocateAndStart(
|
| capture_format_.frame_size.SetSize(640, 480);
|
| else
|
| capture_format_.frame_size.SetSize(320, 240);
|
| - if (params.allow_resolution_change)
|
| - PopulateFormatRoster();
|
| const size_t fake_frame_size =
|
| VideoFrame::AllocationSize(VideoFrame::I420, capture_format_.frame_size);
|
| fake_frame_.reset(new uint8[fake_frame_size]);
|
| @@ -250,10 +187,4 @@ void FakeVideoCaptureDevice::Reallocate() {
|
| fake_frame_.reset(new uint8[fake_frame_size]);
|
| }
|
|
|
| -void FakeVideoCaptureDevice::PopulateFormatRoster() {
|
| - DCHECK_EQ(capture_thread_.message_loop(), base::MessageLoop::current());
|
| - GetDeviceSupportedFormats(Name(), &format_roster_);
|
| - format_roster_index_ = 0;
|
| -}
|
| -
|
| } // namespace media
|
|
|