summaryrefslogtreecommitdiff
path: root/src/class
diff options
context:
space:
mode:
authorhathach <[email protected]>2021-08-02 18:55:12 +0700
committerhathach <[email protected]>2021-08-02 18:55:12 +0700
commit98e4ba6a12f8ce2b060635dc01f68676b047ce25 (patch)
tree6cb2bda0bf8cbeb766fe83ddf7af79f73c6505e8 /src/class
parent8a48e994b667a087ddc25f4d88da6d26be41b845 (diff)
correct midi available with already stream read
Diffstat (limited to 'src/class')
-rw-r--r--src/class/midi/midi_device.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/class/midi/midi_device.c b/src/class/midi/midi_device.c
index c39e03976..9d9619132 100644
--- a/src/class/midi/midi_device.c
+++ b/src/class/midi/midi_device.c
@@ -122,7 +122,12 @@ static void _prep_out_transaction (midid_interface_t* p_midi)
uint32_t tud_midi_n_available(uint8_t itf, uint8_t cable_num)
{
(void) cable_num;
- return tu_fifo_count(&_midid_itf[itf].rx_ff);
+
+ midid_interface_t const* midi = &_midid_itf[itf];
+ midid_stream_t const* stream = &midi->stream_read;
+
+ // when using with packet API stream total & index are both zero
+ return tu_fifo_count(&midi->rx_ff) + (stream->total - stream->index);
}
uint32_t tud_midi_n_stream_read(uint8_t itf, uint8_t cable_num, void* buffer, uint32_t bufsize)