Index: media/video/capture/mac/avfoundation_glue.mm |
diff --git a/media/video/capture/mac/avfoundation_glue.mm b/media/video/capture/mac/avfoundation_glue.mm |
index a22898610029dcd5ec42f2cc1f33c1f358be32bd..afc92d159bfad89c2ed5c1bee2a5ff1b0de5eda3 100644 |
--- a/media/video/capture/mac/avfoundation_glue.mm |
+++ b/media/video/capture/mac/avfoundation_glue.mm |
@@ -108,11 +108,13 @@ static base::LazyInstance<AVFoundationInternal> g_avfoundation_handle = |
bool AVFoundationGlue::IsAVFoundationSupported() { |
// DeviceMonitorMac will initialize this static bool from the main UI thread |
// once, during Chrome startup so this construction is thread safe. |
+ // Use AVFoundation if possible, enabled, and QTKit is not explicitly forced. |
+ static CommandLine* command_line = CommandLine::ForCurrentProcess(); |
static bool is_av_foundation_supported = base::mac::IsOSLionOrLater() && |
- (CommandLine::ForCurrentProcess()->HasSwitch( |
- switches::kEnableAVFoundation) || |
- base::FieldTrialList::FindFullName("AVFoundationMacVideoCapture") |
- == "Enabled") && [AVFoundationBundle() load]; |
+ ((command_line->HasSwitch(switches::kEnableAVFoundation) && |
+ !command_line->HasSwitch(switches::kForceQTKit)) || |
+ base::FieldTrialList::FindFullName("AVFoundationMacVideoCapture") |
+ == "Enabled") && [AVFoundationBundle() load]; |
return is_av_foundation_supported; |
} |