Enable Windows Runtime MIDI API backend by default |
|||||||||
Issue descriptionAs per issue 512433 , an implementation of MidiManager using WinRT MIDI API (media::midi::MidiManagerWinrt) is now available on Windows 10 behind a runtime flag "--use-winrt-midi-api". As soon as this feature is considered stable, we may enable this backend by default on Windows 10 hosts.
,
Sep 20 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/500c32be9f547a6e4ea818672ed62e34399b1916 commit 500c32be9f547a6e4ea818672ed62e34399b1916 Author: shaochuan <shaochuan@chromium.org> Date: Tue Sep 20 08:10:50 2016 Check if null pointer is provided in DeviceWatcher callbacks Callbacks from DeviceWatcher events occasionally provide null pointers for device information and handle interfaces. For example, Midi{In,Out}Port.FromIdAsync return null handles in IAsyncOperation results if the requested device is occupied by another application using legacy APIs. DeviceWatcher.Removed event is also observed to provide null IDeviceInformationUpdate pointers, but we are still unable to reproduce the problem. Additional checks in DeviceWatcher callbacks should be added to prevent crashes before shipping this feature as default on Windows 10 hosts. We may also want to collect statistics on this issue in the future. BUG= 645403 Review-Url: https://codereview.chromium.org/2350683003 Cr-Commit-Position: refs/heads/master@{#419694} [modify] https://crrev.com/500c32be9f547a6e4ea818672ed62e34399b1916/media/midi/midi_manager_winrt.cc
,
Sep 21 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/64ee320eb5f9adb0281de97c0d4a17317327ad10 commit 64ee320eb5f9adb0281de97c0d4a17317327ad10 Author: shaochuan <shaochuan@chromium.org> Date: Wed Sep 21 21:25:51 2016 MidiManagerWinrt as base::FeatureList feature Now MidiManagerWinrt is available as a base::FeatureList feature instead of command-line switch. BUG= 645403 Review-Url: https://codereview.chromium.org/2352013002 Cr-Commit-Position: refs/heads/master@{#420165} [modify] https://crrev.com/64ee320eb5f9adb0281de97c0d4a17317327ad10/chrome/browser/about_flags.cc [modify] https://crrev.com/64ee320eb5f9adb0281de97c0d4a17317327ad10/media/midi/midi_manager_win.cc [modify] https://crrev.com/64ee320eb5f9adb0281de97c0d4a17317327ad10/media/midi/midi_switches.cc [modify] https://crrev.com/64ee320eb5f9adb0281de97c0d4a17317327ad10/media/midi/midi_switches.h [modify] https://crrev.com/64ee320eb5f9adb0281de97c0d4a17317327ad10/tools/metrics/histograms/histograms.xml
,
Sep 28 2016
,
Sep 28 2016
FYI there is a recent Windows blog post that mentions improvements to the Windows 10 MIDI support. They do mention a win32 wrapper which may or may not be useful for Chrome at this point. https://blogs.windows.com/buildingapps/2016/09/21/midi-enhancements-in-windows-10/
,
Sep 29 2016
Thanks Adam. The post gave answers for the most of our questions, and I'm happy to know that they started supporting third party drivers from the last update. Also Win32 wrapper would help third parties to start using the new API. But... yeah, the best scenario is Windows implements the winmm API on the top of new one so that all existing apps can utilize the benefit of sharing devices. Anyway, we start a field trial for Windows 10 backend in a few days for Canary and Dev channels, and will enable it by default after the stability checks.
,
Oct 5 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e041dc3faab67129c30b9c29d7e7ae74997ee0fd commit e041dc3faab67129c30b9c29d7e7ae74997ee0fd Author: shaochuan <shaochuan@chromium.org> Date: Wed Oct 05 08:39:29 2016 Enable MidiManagerWinrt by default on Windows 10 Added runtime flag to disable the new backend. BUG= 645403 Review-Url: https://codereview.chromium.org/2392263002 Cr-Commit-Position: refs/heads/master@{#423116} [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/chrome/app/generated_resources.grd [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/chrome/browser/about_flags.cc [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/media/midi/midi_manager_win.cc [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/media/midi/midi_switches.cc [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/media/midi/midi_switches.h [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/tools/metrics/histograms/histograms.xml
,
Oct 25 2016
It turned out that the new APIs don't work well without driver support. Some devices are not available at all through new APIs with vendor-provided drivers. For other devices, unexpected behavior have been observed, e.g. async request to open device not returning or returning null handles from OS callbacks. Such problems often occur by accessing the same device with old APIs first then with new APIs, and can only be fixed with a reboot. The device sharing feature also seems to require all applications to use the new APIs. As discussed offline with toyoshim@, we may want to revert https://codereview.chromium.org/2392263002 to make the feature back behind a Finch flag disabled by default, and enable it as soon as third-party driver and app providers begin switching to new APIs. The revert should be applied to M55 as well.
,
Oct 25 2016
toyoshim@: Is it possible to merge the revert to M55? As suggested in http://www.chromium.org/developers/the-zen-of-merge-requests#TOC-Phase-2:-The-Push-to-Beta there will be "changes to strings", though I guess the original flag name and description have already been localized.
,
Oct 25 2016
I can not surely say, but worth requesting. Your changes to strings are only for chrome://flags, and I guess that should be ok. Can you file a bug and create a CL to revert the flag change?
,
Oct 27 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e041dc3faab67129c30b9c29d7e7ae74997ee0fd commit e041dc3faab67129c30b9c29d7e7ae74997ee0fd Author: shaochuan <shaochuan@chromium.org> Date: Wed Oct 05 08:39:29 2016 Enable MidiManagerWinrt by default on Windows 10 Added runtime flag to disable the new backend. BUG= 645403 Review-Url: https://codereview.chromium.org/2392263002 Cr-Commit-Position: refs/heads/master@{#423116} [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/chrome/app/generated_resources.grd [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/chrome/browser/about_flags.cc [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/media/midi/midi_manager_win.cc [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/media/midi/midi_switches.cc [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/media/midi/midi_switches.h [modify] https://crrev.com/e041dc3faab67129c30b9c29d7e7ae74997ee0fd/tools/metrics/histograms/histograms.xml
,
Oct 29 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2d340033715f50c38b75b4cbaa06b7445411869c commit 2d340033715f50c38b75b4cbaa06b7445411869c Author: shaochuan <shaochuan@chromium.org> Date: Sat Oct 29 07:26:00 2016 Revert "Enable MidiManagerWinrt by default on Windows 10" Make MidiManagerWinrt back behind a Finch flag disabled by default. Reverting CL https://codereview.chromium.org/2392263002/ while preserving strings and histograms for the "disabled" flag. Revert this CL to enable it by default again. BUG= 645403 , 659458 Review-Url: https://codereview.chromium.org/2450033003 Cr-Commit-Position: refs/heads/master@{#428608} [modify] https://crrev.com/2d340033715f50c38b75b4cbaa06b7445411869c/chrome/app/generated_resources.grd [modify] https://crrev.com/2d340033715f50c38b75b4cbaa06b7445411869c/chrome/browser/about_flags.cc [modify] https://crrev.com/2d340033715f50c38b75b4cbaa06b7445411869c/media/midi/midi_manager_win.cc [modify] https://crrev.com/2d340033715f50c38b75b4cbaa06b7445411869c/media/midi/midi_switches.cc [modify] https://crrev.com/2d340033715f50c38b75b4cbaa06b7445411869c/media/midi/midi_switches.h
,
Nov 4 2016
[Automated comment] removing mislabelled merge-merged-2840
,
Nov 7 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b98ddc5d66411ec00f4bc597a5e4aac0ca9dd0a7 commit b98ddc5d66411ec00f4bc597a5e4aac0ca9dd0a7 Author: shaochuan <shaochuan@chromium.org> Date: Mon Nov 07 06:37:42 2016 Revert "Enable MidiManagerWinrt by default on Windows 10" Make MidiManagerWinrt back behind a Finch flag disabled by default. Reverting CL https://codereview.chromium.org/2392263002/ while preserving strings and histograms for the "disabled" flag. Revert this CL to enable it by default again. BUG= 645403 , 659458 TBR=shaochuan@chromium.org,toyoshim@chromium.org NOTRY=true NOPRESUBMIT=true Review-Url: https://codereview.chromium.org/2462383002 Cr-Commit-Position: refs/branch-heads/2883@{#473} Cr-Branched-From: 614d31daee2f61b0180df403a8ad43f20b9f6dd7-refs/heads/master@{#423768} [modify] https://crrev.com/b98ddc5d66411ec00f4bc597a5e4aac0ca9dd0a7/chrome/app/generated_resources.grd [modify] https://crrev.com/b98ddc5d66411ec00f4bc597a5e4aac0ca9dd0a7/chrome/browser/about_flags.cc [modify] https://crrev.com/b98ddc5d66411ec00f4bc597a5e4aac0ca9dd0a7/media/midi/midi_manager_win.cc [modify] https://crrev.com/b98ddc5d66411ec00f4bc597a5e4aac0ca9dd0a7/media/midi/midi_switches.cc [modify] https://crrev.com/b98ddc5d66411ec00f4bc597a5e4aac0ca9dd0a7/media/midi/midi_switches.h
,
Nov 7 2016
,
Dec 9 2016
It would be better to keep this open until we succeed to enable it by default.
,
Dec 9 2016
,
Jan 31 2018
merge to a launch bug that is needed for an experimental-controlled launch today. |
|||||||||
►
Sign in to add a comment |
|||||||||
Comment 1 by shaochuan@chromium.org
, Sep 9 2016