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..18967131abd0b39ceee533d7ea393a79628e8e80 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(NULL); |
yhirano
2014/10/23 08:24:13
You can use nullptr.
Takashi Toyoshima
2014/10/23 09:33:47
Done.
|
+ 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,6 +152,7 @@ void MidiHost::ReceiveMidiData( |
double timestamp) { |
TRACE_EVENT0("midi", "MidiHost::ReceiveMidiData"); |
+ base::AutoLock auto_lock(messages_queues_lock_); |
if (received_messages_queues_.size() <= port) |
return; |