Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(147)

Unified Diff: media/video/capture/fake_video_capture_device.cc

Issue 91343002: Added supported formats caching to VideoCaptureManager. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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 ef44d86488497ef9d7d452f38bc2a8521d6c0863..6bb2af774102e08daaa0cceb349af3a0e2f56343 100644
--- a/media/video/capture/fake_video_capture_device.cc
+++ b/media/video/capture/fake_video_capture_device.cc
@@ -19,39 +19,57 @@ namespace media {
static const int kFakeCaptureTimeoutMs = 50;
static const int kFakeCaptureBeepCycle = 20; // Visual beep every 1s.
static const int kFakeCaptureCapabilityChangePeriod = 30;
-enum { kNumberOfFakeDevices = 2 };
+int FakeVideoCaptureDevice::number_of_fake_devices_ = 2;
bool FakeVideoCaptureDevice::fail_next_create_ = false;
+// static
+void FakeVideoCaptureDevice::SetNumberOfFakeDevices(int num) {
+ number_of_fake_devices_ = num;
+}
+
+// static
+int FakeVideoCaptureDevice::NumberOfFakeDevices(void) {
+ return number_of_fake_devices_;
+}
+
+// static
void FakeVideoCaptureDevice::GetDeviceNames(Names* const device_names) {
// Empty the name list.
device_names->erase(device_names->begin(), device_names->end());
- for (int n = 0; n < kNumberOfFakeDevices; n++) {
+ for (int n = 0; n < number_of_fake_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,
- VideoCaptureCapabilities* formats) {
- VideoCaptureCapability capture_format_640x480;
- capture_format_640x480.supported_format.frame_size.SetSize(640, 480);
- capture_format_640x480.supported_format.frame_rate =
- 1000 / kFakeCaptureTimeoutMs;
- capture_format_640x480.supported_format.pixel_format =
- media::PIXEL_FORMAT_I420;
- formats->push_back(capture_format_640x480);
+ VideoCaptureFormats* supported_formats) {
+
+ supported_formats->clear();
+ VideoCaptureFormat capture_format_640x480;
+ capture_format_640x480.pixel_format = media::PIXEL_FORMAT_I420;
+ capture_format_640x480.frame_size.SetSize(640, 480);
+ capture_format_640x480.frame_rate = 1000 / kFakeCaptureTimeoutMs;
+ supported_formats->push_back(capture_format_640x480);
+ VideoCaptureFormat capture_format_320x240;
+ capture_format_320x240.pixel_format = media::PIXEL_FORMAT_I420;
+ capture_format_320x240.frame_size.SetSize(320, 240);
+ capture_format_320x240.frame_rate = 1000 / kFakeCaptureTimeoutMs;
+ supported_formats->push_back(capture_format_320x240);
}
+// static
VideoCaptureDevice* FakeVideoCaptureDevice::Create(const Name& device_name) {
if (fail_next_create_) {
fail_next_create_ = false;
return NULL;
}
- for (int n = 0; n < kNumberOfFakeDevices; ++n) {
+ for (int n = 0; n < number_of_fake_devices_; ++n) {
std::string possible_id = base::StringPrintf("/dev/video%d", n);
if (device_name.id().compare(possible_id) == 0) {
return new FakeVideoCaptureDevice();
@@ -60,6 +78,7 @@ VideoCaptureDevice* FakeVideoCaptureDevice::Create(const Name& device_name) {
return NULL;
}
+// static
void FakeVideoCaptureDevice::SetFailNextCreate() {
fail_next_create_ = true;
}

Powered by Google App Engine
This is Rietveld 408576698