summaryrefslogtreecommitdiffstats
path: root/media/midi
diff options
context:
space:
mode:
authorTakashi Toyoshima <toyoshim@chromium.org>2015-06-18 14:12:28 +0900
committerTakashi Toyoshima <toyoshim@chromium.org>2015-06-18 05:13:52 +0000
commit133b995ac61440832fe1b91d2180eb0da182aced (patch)
tree4898401306683c057acb81ac8f5e4b84733752e5 /media/midi
parente0f14a886cbebbe4c91c54163aa2c1831339f5d2 (diff)
downloadchromium_src-133b995ac61440832fe1b91d2180eb0da182aced.zip
chromium_src-133b995ac61440832fe1b91d2180eb0da182aced.tar.gz
chromium_src-133b995ac61440832fe1b91d2180eb0da182aced.tar.bz2
Web MIDI: disable unsupported devices on Windows
BUG=499279 R=yukawa@chromium.org Review URL: https://codereview.chromium.org/1178793007. Cr-Commit-Position: refs/heads/master@{#334994}
Diffstat (limited to 'media/midi')
-rw-r--r--media/midi/midi_manager_win.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/media/midi/midi_manager_win.cc b/media/midi/midi_manager_win.cc
index 5c81386..8843040 100644
--- a/media/midi/midi_manager_win.cc
+++ b/media/midi/midi_manager_win.cc
@@ -297,6 +297,12 @@ std::string GetManufacturerName(const MidiDeviceInfo& info) {
}
}
+bool IsUnsupportedDevice(const MidiDeviceInfo& info) {
+ return info.manufacturer_id == MM_MICROSOFT &&
+ (info.product_id == MM_MSFT_WDMAUDIO_MIDIOUT ||
+ info.product_id == MM_MSFT_GENERIC_MIDISYNTH);
+}
+
using PortNumberCache = base::hash_map<
MidiDeviceInfo,
std::priority_queue<uint32, std::vector<uint32>, std::greater<uint32>>,
@@ -799,6 +805,8 @@ class MidiServiceWinImpl : public MidiServiceWin,
make_scoped_refptr(new MidiOutputDeviceState(MidiDeviceInfo(caps)));
state->midi_handle = midi_out_handle;
const auto& state_device_info = state->device_info;
+ if (IsUnsupportedDevice(state_device_info))
+ return;
bool add_new_port = false;
uint32 port_number = 0;
{