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

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

Issue 2431393002: Web MIDI: move MIDI message validating logic into message_util.{cc|h} (Closed)
Patch Set: build fix Created 4 years, 2 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/message_util_unittest.cc ('k') | media/midi/midi_message_queue.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 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 25 matching lines...) Expand all
36 #include "base/strings/string_number_conversions.h" 36 #include "base/strings/string_number_conversions.h"
37 #include "base/strings/string_piece.h" 37 #include "base/strings/string_piece.h"
38 #include "base/strings/stringprintf.h" 38 #include "base/strings/stringprintf.h"
39 #include "base/strings/utf_string_conversions.h" 39 #include "base/strings/utf_string_conversions.h"
40 #include "base/system_monitor/system_monitor.h" 40 #include "base/system_monitor/system_monitor.h"
41 #include "base/threading/thread_checker.h" 41 #include "base/threading/thread_checker.h"
42 #include "base/timer/timer.h" 42 #include "base/timer/timer.h"
43 #include "base/win/message_window.h" 43 #include "base/win/message_window.h"
44 #include "base/win/windows_version.h" 44 #include "base/win/windows_version.h"
45 #include "device/usb/usb_ids.h" 45 #include "device/usb/usb_ids.h"
46 #include "media/midi/message_util.h"
46 #include "media/midi/midi_manager_winrt.h" 47 #include "media/midi/midi_manager_winrt.h"
47 #include "media/midi/midi_message_queue.h" 48 #include "media/midi/midi_message_queue.h"
48 #include "media/midi/midi_message_util.h"
49 #include "media/midi/midi_port_info.h" 49 #include "media/midi/midi_port_info.h"
50 #include "media/midi/midi_switches.h" 50 #include "media/midi/midi_switches.h"
51 51
52 namespace midi { 52 namespace midi {
53 namespace { 53 namespace {
54 54
55 using mojom::Result; 55 using mojom::Result;
56 56
57 static const size_t kBufferLength = 32 * 1024; 57 static const size_t kBufferLength = 32 * 1024;
58 58
(...skipping 639 matching lines...) Expand 10 before | Expand all | Expand 10 after
698 DWORD_PTR param1, 698 DWORD_PTR param1,
699 DWORD_PTR param2) { 699 DWORD_PTR param2) {
700 auto state = GetInputDeviceFromHandle(midi_in_handle); 700 auto state = GetInputDeviceFromHandle(midi_in_handle);
701 if (!state) 701 if (!state)
702 return; 702 return;
703 const uint8_t status_byte = static_cast<uint8_t>(param1 & 0xff); 703 const uint8_t status_byte = static_cast<uint8_t>(param1 & 0xff);
704 const uint8_t first_data_byte = static_cast<uint8_t>((param1 >> 8) & 0xff); 704 const uint8_t first_data_byte = static_cast<uint8_t>((param1 >> 8) & 0xff);
705 const uint8_t second_data_byte = 705 const uint8_t second_data_byte =
706 static_cast<uint8_t>((param1 >> 16) & 0xff); 706 static_cast<uint8_t>((param1 >> 16) & 0xff);
707 const DWORD elapsed_ms = param2; 707 const DWORD elapsed_ms = param2;
708 const size_t len = GetMidiMessageLength(status_byte); 708 const size_t len = GetMessageLength(status_byte);
709 const uint8_t kData[] = {status_byte, first_data_byte, second_data_byte}; 709 const uint8_t kData[] = {status_byte, first_data_byte, second_data_byte};
710 std::vector<uint8_t> data; 710 std::vector<uint8_t> data;
711 data.assign(kData, kData + len); 711 data.assign(kData, kData + len);
712 DCHECK_LE(len, arraysize(kData)); 712 DCHECK_LE(len, arraysize(kData));
713 // MIM_DATA/MIM_LONGDATA message treats the time when midiInStart() is 713 // MIM_DATA/MIM_LONGDATA message treats the time when midiInStart() is
714 // called as the origin of |elapsed_ms|. 714 // called as the origin of |elapsed_ms|.
715 // http://msdn.microsoft.com/en-us/library/windows/desktop/dd757284.aspx 715 // http://msdn.microsoft.com/en-us/library/windows/desktop/dd757284.aspx
716 // http://msdn.microsoft.com/en-us/library/windows/desktop/dd757286.aspx 716 // http://msdn.microsoft.com/en-us/library/windows/desktop/dd757286.aspx
717 const base::TimeTicks event_time = 717 const base::TimeTicks event_time =
718 state->start_time + base::TimeDelta::FromMilliseconds(elapsed_ms); 718 state->start_time + base::TimeDelta::FromMilliseconds(elapsed_ms);
(...skipping 476 matching lines...) Expand 10 before | Expand all | Expand 10 after
1195 1195
1196 MidiManager* MidiManager::Create() { 1196 MidiManager* MidiManager::Create() {
1197 if (!base::CommandLine::ForCurrentProcess()->HasSwitch( 1197 if (!base::CommandLine::ForCurrentProcess()->HasSwitch(
1198 switches::kDisableWinrtMidiApi) && 1198 switches::kDisableWinrtMidiApi) &&
1199 base::win::GetVersion() >= base::win::VERSION_WIN10) 1199 base::win::GetVersion() >= base::win::VERSION_WIN10)
1200 return new MidiManagerWinrt(); 1200 return new MidiManagerWinrt();
1201 return new MidiManagerWin(); 1201 return new MidiManagerWin();
1202 } 1202 }
1203 1203
1204 } // namespace midi 1204 } // namespace midi
OLDNEW
« no previous file with comments | « media/midi/message_util_unittest.cc ('k') | media/midi/midi_message_queue.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698