Commit b6cfa6a1 authored by yhirano's avatar yhirano Committed by Commit bot

[MIDI] Make android MIDI port id unique

MIDI port id must be unique, as specified in the spec.

BUG=341423

Review URL: https://codereview.chromium.org/516893002

Cr-Commit-Position: refs/heads/master@{#292553}
parent 2034a189
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "base/logging.h" #include "base/logging.h"
#include "base/memory/scoped_ptr.h" #include "base/memory/scoped_ptr.h"
#include "base/message_loop/message_loop.h" #include "base/message_loop/message_loop.h"
#include "base/strings/stringprintf.h"
#include "media/midi/usb_midi_descriptor_parser.h" #include "media/midi/usb_midi_descriptor_parser.h"
#include "media/midi/usb_midi_device.h" #include "media/midi/usb_midi_device.h"
#include "media/midi/usb_midi_input_stream.h" #include "media/midi/usb_midi_input_stream.h"
...@@ -94,12 +95,24 @@ void MidiManagerUsb::OnEnumerateDevicesDone(bool result, ...@@ -94,12 +95,24 @@ void MidiManagerUsb::OnEnumerateDevicesDone(bool result,
if (jacks[j].direction() == UsbMidiJack::DIRECTION_OUT) { if (jacks[j].direction() == UsbMidiJack::DIRECTION_OUT) {
output_streams_.push_back(new UsbMidiOutputStream(jacks[j])); output_streams_.push_back(new UsbMidiOutputStream(jacks[j]));
// TODO(yhirano): Set appropriate properties. // TODO(yhirano): Set appropriate properties.
AddOutputPort(MidiPortInfo()); // TODO(yhiran): Port ID should contain product ID / vendor ID.
// Port ID must be unique in a MIDI manager. This (and the below) ID
// setting is sufficiently unique although there is no user-friendly
// meaning.
MidiPortInfo port;
port.id = base::StringPrintf("port-%ld-%ld",
static_cast<long>(i),
static_cast<long>(j));
AddOutputPort(port);
} else { } else {
DCHECK_EQ(jacks[j].direction(), UsbMidiJack::DIRECTION_IN); DCHECK_EQ(jacks[j].direction(), UsbMidiJack::DIRECTION_IN);
input_jacks.push_back(jacks[j]); input_jacks.push_back(jacks[j]);
// TODO(yhirano): Set appropriate properties. // TODO(yhirano): Set appropriate properties.
AddInputPort(MidiPortInfo()); MidiPortInfo port;
port.id = base::StringPrintf("port-%ld-%ld",
static_cast<long>(i),
static_cast<long>(j));
AddInputPort(port);
} }
} }
input_stream_.reset(new UsbMidiInputStream(input_jacks, this)); input_stream_.reset(new UsbMidiInputStream(input_jacks, this));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment