Index: media/midi/dynamically_initialized_midi_manager_win.cc |
diff --git a/media/midi/dynamically_initialized_midi_manager_win.cc b/media/midi/dynamically_initialized_midi_manager_win.cc |
index 2561542454bdb068543e41b0ed3b27ba34623cda..58c3a6ab13018df22ad0b421bbb4dc83a4a4240f 100644 |
--- a/media/midi/dynamically_initialized_midi_manager_win.cc |
+++ b/media/midi/dynamically_initialized_midi_manager_win.cc |
@@ -22,10 +22,13 @@ |
#include "base/strings/stringprintf.h" |
#include "base/strings/utf_string_conversions.h" |
#include "base/synchronization/lock.h" |
+#include "base/win/windows_version.h" |
#include "device/usb/usb_ids.h" |
#include "media/midi/message_util.h" |
+#include "media/midi/midi_manager_winrt.h" |
#include "media/midi/midi_port_info.h" |
#include "media/midi/midi_service.h" |
+#include "media/midi/midi_switches.h" |
namespace midi { |
@@ -852,4 +855,11 @@ void DynamicallyInitializedMidiManagerWin::SendOnTaskRunner( |
base::Unretained(this), client, data.size())); |
} |
+MidiManager* MidiManager::Create(MidiService* service) { |
+ if (base::FeatureList::IsEnabled(features::kMidiManagerWinrt) && |
+ base::win::GetVersion() >= base::win::VERSION_WIN10) |
+ return new MidiManagerWinrt(service); |
+ return new DynamicallyInitializedMidiManagerWin(service); |
+} |
+ |
} // namespace midi |