• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #include "media/base/media_switches.h"
6 
7 namespace switches {
8 
9 // Allow users to specify a custom buffer size for debugging purpose.
10 const char kAudioBufferSize[] = "audio-buffer-size";
11 
12 // Enable EAC3 playback in MSE.
13 const char kEnableEac3Playback[] = "enable-eac3-playback";
14 
15 // Disables Opus playback in media elements.
16 const char kDisableOpusPlayback[] = "disable-opus-playback";
17 
18 // Disables VP8 Alpha playback in media elements.
19 const char kDisableVp8AlphaPlayback[] = "disable-vp8-alpha-playback";
20 
21 // Set number of threads to use for video decoding.
22 const char kVideoThreads[] = "video-threads";
23 
24 // Enables MP3 stream parser for Media Source Extensions.
25 const char kEnableMP3StreamParser[] = "enable-mp3-stream-parser";
26 
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";
31 
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
36 
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
45 
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
52 
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
67 
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";
75 
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";
81 
82 // Use Windows WaveOut/In audio API even if Core Audio is supported.
83 const char kForceWaveAudio[] = "force-wave-audio";
84 
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";
91 
92 // Number of buffers to use for WaveOut.
93 const char kWaveOutBuffers[] = "waveout-buffers";
94 #endif
95 
96 #if defined(USE_CRAS)
97 // Use CRAS, the ChromeOS audio server.
98 const char kUseCras[] = "use-cras";
99 #endif
100 
101 // Disables system sounds manager.
102 const char kDisableSystemSoundsManager[] = "disable-system-sounds-manager";
103 
104 // Use a raw video file as fake video capture device.
105 const char kUseFileForFakeVideoCapture[] = "use-file-for-fake-video-capture";
106 
107 }  // namespace switches
108