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

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

Issue 1065743003: Reland: Web MIDI: split build rules for media/midi (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fixed patch set Created 5 years, 7 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.cc ('k') | media/midi/midi_scheduler.h » ('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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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_win.h" 5 #include "media/midi/midi_manager_win.h"
6 6
7 #include <windows.h> 7 #include <windows.h>
8 #include <ks.h> 8 #include <ks.h>
9 #include <ksmedia.h> 9 #include <ksmedia.h>
10 #include <mmreg.h> 10 #include <mmreg.h>
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 delete header; 94 delete header;
95 } 95 }
96 }; 96 };
97 97
98 typedef scoped_ptr<MIDIHDR, MIDIHDRDeleter> ScopedMIDIHDR; 98 typedef scoped_ptr<MIDIHDR, MIDIHDRDeleter> ScopedMIDIHDR;
99 99
100 ScopedMIDIHDR CreateMIDIHDR(size_t size) { 100 ScopedMIDIHDR CreateMIDIHDR(size_t size) {
101 ScopedMIDIHDR header(new MIDIHDR); 101 ScopedMIDIHDR header(new MIDIHDR);
102 ZeroMemory(header.get(), sizeof(*header)); 102 ZeroMemory(header.get(), sizeof(*header));
103 header->lpData = new char[size]; 103 header->lpData = new char[size];
104 header->dwBufferLength = size; 104 header->dwBufferLength = static_cast<DWORD>(size);
105 return header.Pass(); 105 return header.Pass();
106 } 106 }
107 107
108 void SendShortMidiMessageInternal(HMIDIOUT midi_out_handle, 108 void SendShortMidiMessageInternal(HMIDIOUT midi_out_handle,
109 const std::vector<uint8>& message) { 109 const std::vector<uint8>& message) {
110 DCHECK_LE(message.size(), static_cast<size_t>(3)) 110 DCHECK_LE(message.size(), static_cast<size_t>(3))
111 << "A short MIDI message should be up to 3 bytes."; 111 << "A short MIDI message should be up to 3 bytes.";
112 112
113 DWORD packed_message = 0; 113 DWORD packed_message = 0;
114 for (size_t i = 0; i < message.size(); ++i) 114 for (size_t i = 0; i < message.size(); ++i)
(...skipping 497 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 make_scoped_refptr(new MidiInputDeviceState(MidiDeviceInfo(caps))); 612 make_scoped_refptr(new MidiInputDeviceState(MidiDeviceInfo(caps)));
613 state->midi_handle = midi_in_handle; 613 state->midi_handle = midi_in_handle;
614 state->midi_header = CreateMIDIHDR(kBufferLength); 614 state->midi_header = CreateMIDIHDR(kBufferLength);
615 const auto& state_device_info = state->device_info; 615 const auto& state_device_info = state->device_info;
616 bool add_new_port = false; 616 bool add_new_port = false;
617 uint32 port_number = 0; 617 uint32 port_number = 0;
618 { 618 {
619 base::AutoLock auto_lock(input_ports_lock_); 619 base::AutoLock auto_lock(input_ports_lock_);
620 const auto it = unused_input_ports_.find(state_device_info); 620 const auto it = unused_input_ports_.find(state_device_info);
621 if (it == unused_input_ports_.end()) { 621 if (it == unused_input_ports_.end()) {
622 port_number = input_ports_.size(); 622 port_number = static_cast<uint32>(input_ports_.size());
623 add_new_port = true; 623 add_new_port = true;
624 input_ports_.push_back(nullptr); 624 input_ports_.push_back(nullptr);
625 input_ports_ages_.push_back(0); 625 input_ports_ages_.push_back(0);
626 } else { 626 } else {
627 port_number = it->second.top(); 627 port_number = it->second.top();
628 it->second.pop(); 628 it->second.pop();
629 if (it->second.empty()) { 629 if (it->second.empty()) {
630 unused_input_ports_.erase(it); 630 unused_input_ports_.erase(it);
631 } 631 }
632 } 632 }
(...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
793 auto state = 793 auto state =
794 make_scoped_refptr(new MidiOutputDeviceState(MidiDeviceInfo(caps))); 794 make_scoped_refptr(new MidiOutputDeviceState(MidiDeviceInfo(caps)));
795 state->midi_handle = midi_out_handle; 795 state->midi_handle = midi_out_handle;
796 const auto& state_device_info = state->device_info; 796 const auto& state_device_info = state->device_info;
797 bool add_new_port = false; 797 bool add_new_port = false;
798 uint32 port_number = 0; 798 uint32 port_number = 0;
799 { 799 {
800 base::AutoLock auto_lock(output_ports_lock_); 800 base::AutoLock auto_lock(output_ports_lock_);
801 const auto it = unused_output_ports_.find(state_device_info); 801 const auto it = unused_output_ports_.find(state_device_info);
802 if (it == unused_output_ports_.end()) { 802 if (it == unused_output_ports_.end()) {
803 port_number = output_ports_.size(); 803 port_number = static_cast<uint32>(output_ports_.size());
804 add_new_port = true; 804 add_new_port = true;
805 output_ports_.push_back(nullptr); 805 output_ports_.push_back(nullptr);
806 output_ports_ages_.push_back(0); 806 output_ports_ages_.push_back(0);
807 } else { 807 } else {
808 port_number = it->second.top(); 808 port_number = it->second.top();
809 it->second.pop(); 809 it->second.pop();
810 if (it->second.empty()) 810 if (it->second.empty())
811 unused_output_ports_.erase(it); 811 unused_output_ports_.erase(it);
812 } 812 }
813 output_ports_[port_number] = state; 813 output_ports_[port_number] = state;
(...skipping 310 matching lines...) Expand 10 before | Expand all | Expand 10 after
1124 // TOOD(toyoshim): This calculation should be done when the date is actually 1124 // TOOD(toyoshim): This calculation should be done when the date is actually
1125 // sent. 1125 // sent.
1126 client->AccumulateMidiBytesSent(data.size()); 1126 client->AccumulateMidiBytesSent(data.size());
1127 } 1127 }
1128 1128
1129 MidiManager* MidiManager::Create() { 1129 MidiManager* MidiManager::Create() {
1130 return new MidiManagerWin(); 1130 return new MidiManagerWin();
1131 } 1131 }
1132 1132
1133 } // namespace media 1133 } // namespace media
OLDNEW
« no previous file with comments | « media/midi/midi_manager_usb.cc ('k') | media/midi/midi_scheduler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698