| Index: content/browser/media/midi_host.cc
|
| diff --git a/content/browser/media/midi_host.cc b/content/browser/media/midi_host.cc
|
| index fb4dcce4a7e8e98acfd2329ef6ba65591cd9f6be..2fc014785755b889c750cce0bc8a5b06d778b4af 100644
|
| --- a/content/browser/media/midi_host.cc
|
| +++ b/content/browser/media/midi_host.cc
|
| @@ -125,23 +125,24 @@ void MidiHost::OnEndSession() {
|
|
|
| void MidiHost::CompleteStartSession(media::MidiResult result) {
|
| DCHECK(is_session_requested_);
|
| - MidiPortInfoList input_ports;
|
| - MidiPortInfoList output_ports;
|
| -
|
| if (result == media::MIDI_OK) {
|
| - input_ports = midi_manager_->input_ports();
|
| - output_ports = midi_manager_->output_ports();
|
| - received_messages_queues_.clear();
|
| - received_messages_queues_.resize(input_ports.size());
|
| // ChildSecurityPolicy is set just before OnStartSession by
|
| // MidiDispatcherHost. So we can safely cache the policy.
|
| has_sys_ex_permission_ = ChildProcessSecurityPolicyImpl::GetInstance()->
|
| CanSendMidiSysExMessage(renderer_process_id_);
|
| }
|
| + Send(new MidiMsg_SessionStarted(result));
|
| +}
|
| +
|
| +void MidiHost::AddInputPort(const media::MidiPortInfo& info) {
|
| + base::AutoLock auto_lock(messages_queues_lock_);
|
| + // MidiMessageQueue is created later in ReceiveMidiData().
|
| + received_messages_queues_.push_back(nullptr);
|
| + Send(new MidiMsg_AddInputPort(info));
|
| +}
|
|
|
| - Send(new MidiMsg_SessionStarted(result,
|
| - input_ports,
|
| - output_ports));
|
| +void MidiHost::AddOutputPort(const media::MidiPortInfo& info) {
|
| + Send(new MidiMsg_AddOutputPort(info));
|
| }
|
|
|
| void MidiHost::ReceiveMidiData(
|
| @@ -151,11 +152,12 @@ void MidiHost::ReceiveMidiData(
|
| double timestamp) {
|
| TRACE_EVENT0("midi", "MidiHost::ReceiveMidiData");
|
|
|
| + base::AutoLock auto_lock(messages_queues_lock_);
|
| if (received_messages_queues_.size() <= port)
|
| return;
|
|
|
| // Lazy initialization
|
| - if (received_messages_queues_[port] == NULL)
|
| + if (received_messages_queues_[port] == nullptr)
|
| received_messages_queues_[port] = new media::MidiMessageQueue(true);
|
|
|
| received_messages_queues_[port]->Add(data, length);
|
|
|