History log of /frameworks/base/services/core/jni/com_android_server_UsbMidiDevice.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
32bfb874e32991685150ad7b9e8785b2b0ec9a7e 30-Oct-2015 Phil Burk <philburk@google.com> UsbMidiDeviceJNI: fix race condition

Try multiple times to open the MIDI control device.
This fixes a race condition that caused Android to
sometimes not see a USB MIDI keyboard when it was plugged in.

Bug: 25328161
Change-Id: Ic72c5859364fc56bf7a40c1b1c9791c42827ea63
Signed-off-by: Phil Burk <philburk@google.com>
/frameworks/base/services/core/jni/com_android_server_UsbMidiDevice.cpp
6d5a0f916499a69f28b860fd66d09b5025c30450 08-Jun-2015 Mike Lockwood <lockwood@google.com> UsbMidiDevice: Only keep ALSA devices open when device is in use

This should fix contention problems for apps using USB APIs to implement MIDI support

Bug: 20949468
Bug: 21630625
Change-Id: I32b44330ca0310a4693fd56a4b01ad399f82c1c9
/frameworks/base/services/core/jni/com_android_server_UsbMidiDevice.cpp
b7ce094c9e546c4a802bd8ce3a43592979a5e3df 25-Mar-2015 Mike Lockwood <lockwood@google.com> MIDI Manager: remove USB peripheral MIDI device when USB is disconnected

Otherwise, the MIDI device would appear available always, rather than
only when USB is connected.

Also fixed file descriptor leak in UsbMidiDevice

Change-Id: I0d38e81c488de4748eef36ca359635fa59e0e636
/frameworks/base/services/core/jni/com_android_server_UsbMidiDevice.cpp
10024b3dc12a8552c1547b67810c77b865045cc8 11-Dec-2014 Mike Lockwood <lockwood@google.com> MidiManager updates:

MIDI ports are now implemented as file descriptors directly between the sender
and receiver, so the MidiService is no longer in the message path.

To facilitate the above, each port has its own file descriptor, rather than multiplexing
all ports on a device through a single socket.

Added a new class MidiDeviceServer, which is used by implementors of MIDI devices.
This replaces the MidiVirtualDevice class (which only was included in changes that were reviewed but never submitted).

The USB MIDI implementation has moved from the MIDI service to the USB service.
The USB MIDI implementation uses MidiDeviceServer as its interface, so we now have a common
interface for all MIDI device implementations.

Change-Id: I8effd1583f344beb6c940c3a24dbf20b477a6436
/frameworks/base/services/core/jni/com_android_server_UsbMidiDevice.cpp