Fix for browser_plugin_host_browsertest when embedder is not yet available.
[chromium-blink-merge.git] / media / base / media_switches.cc
blob4e75216e0cf23d65c8427200a60f244ff284b218
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "media/base/media_switches.h"
7 namespace switches {
9 // Allow users to specify a custom buffer size for debugging purpose.
10 const char kAudioBufferSize[] = "audio-buffer-size";
12 // Enable EAC3 playback in MSE.
13 const char kEnableEac3Playback[] = "enable-eac3-playback";
15 // Enables Opus playback in media elements.
16 const char kEnableOpusPlayback[] = "enable-opus-playback";
18 // Disables VP8 Alpha playback in media elements.
19 const char kDisableVp8AlphaPlayback[] = "disable-vp8-alpha-playback";
21 // Set number of threads to use for video decoding.
22 const char kVideoThreads[] = "video-threads";
24 // Enables MP3 stream parser for Media Source Extensions.
25 const char kEnableMP3StreamParser[] = "enable-mp3-stream-parser";
27 #if defined(OS_ANDROID)
28 // Disables the infobar popup for accessing protected media identifier.
29 const char kDisableInfobarForProtectedMediaIdentifier[] =
30 "disable-infobar-for-protected-media-identifier";
32 // Enables use of non-compositing MediaDrm decoding by default for Encrypted
33 // Media Extensions implementation.
34 const char kMediaDrmEnableNonCompositing[] = "mediadrm-enable-non-compositing";
35 #endif
37 #if defined(GOOGLE_TV)
38 // Use external video surface for video with more than or equal pixels to
39 // specified value. For example, value of 0 will enable external video surface
40 // for all videos, and value of 921600 (=1280*720) will enable external video
41 // surface for 720p video and larger.
42 const char kUseExternalVideoSurfaceThresholdInPixels[] =
43 "use-external-video-surface-threshold-in-pixels";
44 #endif
46 #if defined(OS_LINUX) || defined(OS_FREEBSD) || defined(OS_SOLARIS)
47 // The Alsa device to use when opening an audio input stream.
48 const char kAlsaInputDevice[] = "alsa-input-device";
49 // The Alsa device to use when opening an audio stream.
50 const char kAlsaOutputDevice[] = "alsa-output-device";
51 #endif
53 #if defined(OS_MACOSX)
54 // Unlike other platforms, OSX requires CoreAudio calls to happen on the main
55 // thread of the process. Provide a way to disable this until support is well
56 // tested. See http://crbug.com/158170.
57 // TODO(dalecurtis): Remove this once we're sure nothing has exploded.
58 const char kDisableMainThreadAudio[] = "disable-main-thread-audio";
59 // AVFoundation is available in versions 10.7 and onwards, and is to be used
60 // http://crbug.com/288562 for both audio and video device monitoring and for
61 // video capture. Being a dynamically loaded NSBundle and library, it hits the
62 // Chrome startup time (http://crbug.com/311325 and http://crbug.com/311437);
63 // until development is finished and the library load time issue is solved, the
64 // usage of this library is hidden behind this flag.
65 const char kEnableAVFoundation[] = "enable-avfoundation";
66 #endif
68 #if defined(OS_WIN)
69 // Use exclusive mode audio streaming for Windows Vista and higher.
70 // Leads to lower latencies for audio streams which uses the
71 // AudioParameters::AUDIO_PCM_LOW_LATENCY audio path.
72 // See http://msdn.microsoft.com/en-us/library/windows/desktop/dd370844.aspx
73 // for details.
74 const char kEnableExclusiveAudio[] = "enable-exclusive-audio";
76 // Used to troubleshoot problems with different video capture implementations
77 // on Windows. By default we use the Media Foundation API on Windows 7 and up,
78 // but specifying this switch will force use of DirectShow always.
79 // See bug: http://crbug.com/268412
80 const char kForceDirectShowVideoCapture[] = "force-directshow";
82 // Use Windows WaveOut/In audio API even if Core Audio is supported.
83 const char kForceWaveAudio[] = "force-wave-audio";
85 // Instead of always using the hardware channel layout, check if a driver
86 // supports the source channel layout. Avoids outputting empty channels and
87 // permits drivers to enable stereo to multichannel expansion. Kept behind a
88 // flag since some drivers lie about supported layouts and hang when used. See
89 // http://crbug.com/259165 for more details.
90 const char kTrySupportedChannelLayouts[] = "try-supported-channel-layouts";
92 // Number of buffers to use for WaveOut.
93 const char kWaveOutBuffers[] = "waveout-buffers";
94 #endif
96 #if defined(USE_CRAS)
97 // Use CRAS, the ChromeOS audio server.
98 const char kUseCras[] = "use-cras";
99 #endif
101 } // namespace switches