1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "content/renderer/media/renderer_webmidiaccessor_impl.h" 6 7 #include "base/logging.h" 8 #include "content/renderer/media/midi_message_filter.h" 9 #include "content/renderer/render_thread_impl.h" 10 11 namespace content { 12 13 RendererWebMIDIAccessorImpl::RendererWebMIDIAccessorImpl( 14 blink::WebMIDIAccessorClient* client) 15 : client_(client) { 16 DCHECK(client_); 17 } 18 19 RendererWebMIDIAccessorImpl::~RendererWebMIDIAccessorImpl() { 20 midi_message_filter()->RemoveClient(client_); 21 } 22 23 void RendererWebMIDIAccessorImpl::startSession() { 24 midi_message_filter()->StartSession(client_); 25 } 26 27 void RendererWebMIDIAccessorImpl::sendMIDIData( 28 unsigned port_index, 29 const unsigned char* data, 30 size_t length, 31 double timestamp) { 32 midi_message_filter()->SendMIDIData( 33 port_index, 34 data, 35 length, 36 timestamp); 37 } 38 39 MIDIMessageFilter* RendererWebMIDIAccessorImpl::midi_message_filter() { 40 return RenderThreadImpl::current()->midi_message_filter(); 41 } 42 43 } // namespace content 44