summaryrefslogtreecommitdiff
path: root/media/native
diff options
context:
space:
mode:
author Robert Wu <robertwu@google.com> 2022-01-25 19:36:02 +0000
committer Robert Wu <robertwu@google.com> 2022-01-26 23:20:12 +0000
commit2136d8d77e40a6712ed2cc9314a2fb74201136b1 (patch)
treeabc8b5091824669a0e484e1273d6eb47e605c599 /media/native
parent91cfa7ff07612192644bb0106c224444cde7257d (diff)
amidi: Don't create extra write buffer
When sendWithTimestamp is called, a ~1000 byte buffer is created even if nothing is sent. This CL adds a check to the size to save space in the buffer if it's not needed. Bug: 216328047 Test: atest NativeMidiEchoTest Change-Id: I0bfddb6ca7416c5df5e938bdd09a5f1efdacaf5c
Diffstat (limited to 'media/native')
-rw-r--r--media/native/midi/amidi.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/media/native/midi/amidi.cpp b/media/native/midi/amidi.cpp
index aa076e85e30d..fd8a06da5c6d 100644
--- a/media/native/midi/amidi.cpp
+++ b/media/native/midi/amidi.cpp
@@ -401,10 +401,14 @@ ssize_t AMIDI_API AMidiInputPort_send(const AMidiInputPort *inputPort, const uin
ssize_t AMIDI_API AMidiInputPort_sendWithTimestamp(const AMidiInputPort *inputPort,
const uint8_t *data, size_t numBytes, int64_t timestamp) {
- if (inputPort == nullptr || data == nullptr) {
+ if (inputPort == nullptr || data == nullptr || numBytes < 0 || timestamp < 0) {
return AMEDIA_ERROR_INVALID_PARAMETER;
}
+ if (numBytes == 0) {
+ return 0;
+ }
+
// AMIDI_logBuffer(data, numBytes);
uint8_t writeBuffer[AMIDI_BUFFER_SIZE + AMIDI_PACKET_OVERHEAD];