Test for golden version-7 safe-browsing file.
[chromium-blink-merge.git] / media / midi / midi_manager.cc
blob77b764f9d2426a8e2143de22b6b8549f03af2d70
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.
5 #include "media/midi/midi_manager.h"
7 #include "base/bind.h"
8 #include "base/bind_helpers.h"
9 #include "base/debug/trace_event.h"
11 namespace media {
13 #if !defined(OS_MACOSX) && !defined(OS_WIN) && !defined(USE_ALSA) && \
14 !defined(OS_ANDROID) && !defined(OS_CHROMEOS)
15 MidiManager* MidiManager::Create() {
16 return new MidiManager;
18 #endif
20 MidiManager::MidiManager()
21 : initialized_(false) {
24 MidiManager::~MidiManager() {
27 bool MidiManager::StartSession(MidiManagerClient* client) {
28 // Lazily initialize the MIDI back-end.
29 if (!initialized_)
30 initialized_ = Initialize();
32 if (initialized_) {
33 base::AutoLock auto_lock(clients_lock_);
34 clients_.insert(client);
37 return initialized_;
40 void MidiManager::EndSession(MidiManagerClient* client) {
41 base::AutoLock auto_lock(clients_lock_);
42 ClientList::iterator i = clients_.find(client);
43 if (i != clients_.end())
44 clients_.erase(i);
47 void MidiManager::DispatchSendMidiData(MidiManagerClient* client,
48 uint32 port_index,
49 const std::vector<uint8>& data,
50 double timestamp) {
51 NOTREACHED();
54 bool MidiManager::Initialize() {
55 TRACE_EVENT0("midi", "MidiManager::Initialize");
56 return false;
59 void MidiManager::AddInputPort(const MidiPortInfo& info) {
60 input_ports_.push_back(info);
63 void MidiManager::AddOutputPort(const MidiPortInfo& info) {
64 output_ports_.push_back(info);
67 void MidiManager::ReceiveMidiData(
68 uint32 port_index,
69 const uint8* data,
70 size_t length,
71 double timestamp) {
72 base::AutoLock auto_lock(clients_lock_);
74 for (ClientList::iterator i = clients_.begin(); i != clients_.end(); ++i)
75 (*i)->ReceiveMidiData(port_index, data, length, timestamp);
78 } // namespace media