summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Phil Burk <philburk@google.com> 2015-07-30 22:03:11 +0000
committer Android Git Automerger <android-git-automerger@android.com> 2015-07-30 22:03:11 +0000
commitc8dc65d1942a4d0e7a7a2c56a6c1b991c8927a70 (patch)
treedc9db3733c77dcb5454c2bf0b3bffb95382c707e
parentca6c2eb12d7e0e417c14bb543c189eec62162854 (diff)
parent3882997e8dfaa36f23222dc4411b8d2b271c79f4 (diff)
am 3882997e: am ed839f59: am e2823cb3: am 8f5228af: Merge "UsbMidiDevice: add timestamps for input events" into mnc-dev
* commit '3882997e8dfaa36f23222dc4411b8d2b271c79f4': UsbMidiDevice: add timestamps for input events
-rw-r--r--services/usb/java/com/android/server/usb/UsbMidiDevice.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/services/usb/java/com/android/server/usb/UsbMidiDevice.java b/services/usb/java/com/android/server/usb/UsbMidiDevice.java
index 97bf5059bf9b..38ede87d2b85 100644
--- a/services/usb/java/com/android/server/usb/UsbMidiDevice.java
+++ b/services/usb/java/com/android/server/usb/UsbMidiDevice.java
@@ -128,7 +128,7 @@ public final class UsbMidiDevice implements Closeable {
mReceiver = receiver;
}
}
-
+
public static UsbMidiDevice create(Context context, Bundle properties, int card, int device) {
// FIXME - support devices with different number of input and output ports
int subDeviceCount = nativeGetSubdeviceCount(card, device);
@@ -203,6 +203,8 @@ public final class UsbMidiDevice implements Closeable {
byte[] buffer = new byte[BUFFER_SIZE];
try {
while (true) {
+ // Record time of event immediately after waking.
+ long timestamp = System.nanoTime();
synchronized (mLock) {
if (!mIsOpen) break;
@@ -215,14 +217,14 @@ public final class UsbMidiDevice implements Closeable {
} else if ((pfd.revents & OsConstants.POLLIN) != 0) {
// clear readable flag
pfd.revents = 0;
-
+
if (index == mInputStreams.length - 1) {
// last file descriptor is used only for unblocking Os.poll()
break;
}
int count = mInputStreams[index].read(buffer);
- outputReceivers[index].send(buffer, 0, count);
+ outputReceivers[index].send(buffer, 0, count, timestamp);
}
}
}