diff options
author | Takashi Toyoshima <toyoshim@chromium.org> | 2015-06-18 14:12:28 +0900 |
---|---|---|
committer | Takashi Toyoshima <toyoshim@chromium.org> | 2015-06-18 05:13:52 +0000 |
commit | 133b995ac61440832fe1b91d2180eb0da182aced (patch) | |
tree | 4898401306683c057acb81ac8f5e4b84733752e5 /media/midi | |
parent | e0f14a886cbebbe4c91c54163aa2c1831339f5d2 (diff) | |
download | chromium_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.cc | 8 |
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; { |