diff options
author | 2022-01-25 19:36:02 +0000 | |
---|---|---|
committer | 2022-01-26 23:20:12 +0000 | |
commit | 2136d8d77e40a6712ed2cc9314a2fb74201136b1 (patch) | |
tree | abc8b5091824669a0e484e1273d6eb47e605c599 /media/native | |
parent | 91cfa7ff07612192644bb0106c224444cde7257d (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.cpp | 6 |
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]; |