Index: media/midi/midi_manager_win.cc |
diff --git a/media/midi/midi_manager_win.cc b/media/midi/midi_manager_win.cc |
index 54a1db8733a90db5b00fe802413df182f7b5e339..439ce9357b6c93ef5dd5e96da85d5e7ad421588b 100644 |
--- a/media/midi/midi_manager_win.cc |
+++ b/media/midi/midi_manager_win.cc |
@@ -499,6 +499,7 @@ MidiManagerWin::MidiManagerWin() |
void MidiManagerWin::StartInitialization() { |
const UINT num_in_devices = midiInGetNumDevs(); |
in_devices_.reserve(num_in_devices); |
+ int inport_index = 0; |
for (UINT device_id = 0; device_id < num_in_devices; ++device_id) { |
MIDIINCAPS caps = {}; |
MMRESULT result = midiInGetDevCaps(device_id, &caps, sizeof(caps)); |
@@ -516,7 +517,7 @@ void MidiManagerWin::StartInitialization() { |
base::WideToUTF8(caps.szPname), |
base::IntToString(static_cast<int>(caps.vDriverVersion))); |
AddInputPort(info); |
- in_device->set_port_index(input_ports().size() - 1); |
+ in_device->set_port_index(inport_index++); |
in_devices_.push_back(in_device.Pass()); |
} |
@@ -548,8 +549,8 @@ void MidiManagerWin::StartInitialization() { |
MidiManagerWin::~MidiManagerWin() { |
// Cleanup order is important. |send_thread_| must be stopped before |
// |out_devices_| is cleared. |
- for (size_t i = 0; i < output_ports().size(); ++i) |
- out_devices_[i]->Quit(); |
+ for (auto& device : out_devices_) |
+ device->Quit(); |
send_thread_.Stop(); |
out_devices_.clear(); |