Index: content/renderer/media/midi_message_filter.cc |
diff --git a/content/renderer/media/midi_message_filter.cc b/content/renderer/media/midi_message_filter.cc |
index 03a9d00001fa81cce9564560219604641281b4d2..258d04d615aee60f892f2e2a72a49a3377b8c206 100644 |
--- a/content/renderer/media/midi_message_filter.cc |
+++ b/content/renderer/media/midi_message_filter.cc |
@@ -116,6 +116,8 @@ bool MidiMessageFilter::OnMessageReceived(const IPC::Message& message) { |
IPC_MESSAGE_HANDLER(MidiMsg_SessionStarted, OnSessionStarted) |
IPC_MESSAGE_HANDLER(MidiMsg_AddInputPort, OnAddInputPort) |
IPC_MESSAGE_HANDLER(MidiMsg_AddOutputPort, OnAddOutputPort) |
+ IPC_MESSAGE_HANDLER(MidiMsg_SetInputPortState, OnSetInputPortState) |
+ IPC_MESSAGE_HANDLER(MidiMsg_SetOutputPortState, OnSetOutputPortState) |
IPC_MESSAGE_HANDLER(MidiMsg_DataReceived, OnDataReceived) |
IPC_MESSAGE_HANDLER(MidiMsg_AcknowledgeSentData, OnAcknowledgeSentData) |
IPC_MESSAGE_UNHANDLED(handled = false) |
@@ -163,6 +165,24 @@ void MidiMessageFilter::OnAddOutputPort(media::MidiPortInfo info) { |
base::Bind(&MidiMessageFilter::HandleAddOutputPort, this, info)); |
} |
+void MidiMessageFilter::OnSetInputPortState(uint32 port, |
+ media::MidiPortState state) { |
+ DCHECK(io_message_loop_->BelongsToCurrentThread()); |
+ main_message_loop_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&MidiMessageFilter::HandleSetInputPortState, |
+ this, port, state)); |
+} |
+ |
+void MidiMessageFilter::OnSetOutputPortState(uint32 port, |
+ media::MidiPortState state) { |
+ DCHECK(io_message_loop_->BelongsToCurrentThread()); |
+ main_message_loop_->PostTask( |
+ FROM_HERE, |
+ base::Bind(&MidiMessageFilter::HandleSetOutputPortState, |
+ this, port, state)); |
+} |
+ |
void MidiMessageFilter::OnDataReceived(uint32 port, |
const std::vector<uint8>& data, |
double timestamp) { |
@@ -265,4 +285,18 @@ void MidiMessageFilter::HandleAckknowledgeSentData(size_t bytes_sent) { |
unacknowledged_bytes_sent_ -= bytes_sent; |
} |
+void MidiMessageFilter::HandleSetInputPortState(uint32 port, |
+ media::MidiPortState state) { |
+ DCHECK(main_message_loop_->BelongsToCurrentThread()); |
+ inputs_[port].state = state; |
+ // TODO(toyoshim): Notify to all clients. |
+} |
+ |
+void MidiMessageFilter::HandleSetOutputPortState(uint32 port, |
+ media::MidiPortState state) { |
+ DCHECK(main_message_loop_->BelongsToCurrentThread()); |
+ outputs_[port].state = state; |
+ // TODO(toyoshim): Notify to all clients. |
+} |
+ |
} // namespace content |