Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: media/midi/midi_manager_usb.cc

Issue 2673423002: Web MIDI: add dynamic MidiManager instantiation support for Linux (Closed)
Patch Set: rebase again Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « media/midi/midi_manager_usb.h ('k') | media/midi/midi_manager_usb_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "media/midi/midi_manager_usb.h" 5 #include "media/midi/midi_manager_usb.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
11 #include "base/strings/stringprintf.h" 11 #include "base/strings/stringprintf.h"
12 #include "media/midi/midi_scheduler.h" 12 #include "media/midi/midi_scheduler.h"
13 #include "media/midi/usb_midi_descriptor_parser.h" 13 #include "media/midi/usb_midi_descriptor_parser.h"
14 14
15 namespace midi { 15 namespace midi {
16 16
17 using mojom::PortState; 17 using mojom::PortState;
18 using mojom::Result; 18 using mojom::Result;
19 19
20 MidiManagerUsb::MidiManagerUsb(std::unique_ptr<UsbMidiDevice::Factory> factory) 20 MidiManagerUsb::MidiManagerUsb(MidiService* service,
21 : device_factory_(std::move(factory)) {} 21 std::unique_ptr<UsbMidiDevice::Factory> factory)
22 : MidiManager(service), device_factory_(std::move(factory)) {}
22 23
23 MidiManagerUsb::~MidiManagerUsb() { 24 MidiManagerUsb::~MidiManagerUsb() {
24 base::AutoLock auto_lock(scheduler_lock_); 25 base::AutoLock auto_lock(scheduler_lock_);
25 CHECK(!scheduler_); 26 CHECK(!scheduler_);
26 } 27 }
27 28
28 void MidiManagerUsb::StartInitialization() { 29 void MidiManagerUsb::StartInitialization() {
29 Initialize( 30 Initialize(
30 base::Bind(&MidiManager::CompleteInitialization, base::Unretained(this))); 31 base::Bind(&MidiManager::CompleteInitialization, base::Unretained(this)));
31 } 32 }
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 DCHECK_EQ(jacks[j].direction(), UsbMidiJack::DIRECTION_IN); 163 DCHECK_EQ(jacks[j].direction(), UsbMidiJack::DIRECTION_IN);
163 input_stream_->Add(jacks[j]); 164 input_stream_->Add(jacks[j]);
164 AddInputPort(MidiPortInfo(id, manufacturer, product_name, version, 165 AddInputPort(MidiPortInfo(id, manufacturer, product_name, version,
165 PortState::OPENED)); 166 PortState::OPENED));
166 } 167 }
167 } 168 }
168 return true; 169 return true;
169 } 170 }
170 171
171 } // namespace midi 172 } // namespace midi
OLDNEW
« no previous file with comments | « media/midi/midi_manager_usb.h ('k') | media/midi/midi_manager_usb_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698