Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / media / audio / win / device_enumeration_win.h
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 #ifndef MEDIA_AUDIO_WIN_DEVICE_ENUMERATION_WIN_H_
6 #define MEDIA_AUDIO_WIN_DEVICE_ENUMERATION_WIN_H_
7
8 #include <string>
9
10 #include "media/audio/audio_device_name.h"
11
12 namespace media {
13
14 // Returns a list of audio input or output device structures (name and
15 // unique device ID) using the MMDevice API which is supported on
16 // Windows Vista and higher.
17 // Example record in the output list:
18 // - device_name: "Microphone (Realtek High Definition Audio)".
19 // - unique_id: "{0.0.1.00000000}.{8db6020f-18e3-4f25-b6f5-7726c9122574}"
20 // This method must be called from a COM thread using MTA.
21 bool GetInputDeviceNamesWin(media::AudioDeviceNames* device_names);
22 bool GetOutputDeviceNamesWin(media::AudioDeviceNames* device_names);
23
24 // Returns a list of audio input or output device structures (name and
25 // unique device ID) using the WaveIn API which is supported on
26 // Windows XP and higher.
27 // Example record in the output list:
28 // - device_name: "Microphone (Realtek High Defini".
29 // - unique_id: "Microphone (Realtek High Defini" (same as friendly name).
30 bool GetInputDeviceNamesWinXP(media::AudioDeviceNames* device_names);
31 bool GetOutputDeviceNamesWinXP(media::AudioDeviceNames* device_names);
32
33 // Converts an input device ID generated by |GetInputDeviceNamesWin()| to the
34 // corresponding ID by |GetInputDeviceNamesWinXP()|. Returns an empty string on
35 // failure.
36 // Example input and output:
37 // - input ID: "{0.0.1.00000000}.{8db6020f-18e3-4f25-b6f5-7726c9122574}"
38 // - output ID: "Microphone (Realtek High Defini"
39 std::string ConvertToWinXPInputDeviceId(const std::string& device_id);
40
41 }  // namespace media
42
43 #endif  // MEDIA_AUDIO_WIN_DEVICE_ENUMERATION_WIN_H_
44