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 11namespace content { 12 13RendererWebMIDIAccessorImpl::RendererWebMIDIAccessorImpl( 14 blink::WebMIDIAccessorClient* client) 15 : client_(client) { 16 DCHECK(client_); 17} 18 19RendererWebMIDIAccessorImpl::~RendererWebMIDIAccessorImpl() { 20 midi_message_filter()->RemoveClient(client_); 21} 22 23void RendererWebMIDIAccessorImpl::startSession() { 24 midi_message_filter()->StartSession(client_); 25} 26 27void 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 39MIDIMessageFilter* RendererWebMIDIAccessorImpl::midi_message_filter() { 40 return RenderThreadImpl::current()->midi_message_filter(); 41} 42 43} // namespace content 44