summaryrefslogtreecommitdiff
path: root/src/class
diff options
context:
space:
mode:
authorHa Thach <[email protected]>2021-08-02 19:25:24 +0700
committerGitHub <[email protected]>2021-08-02 19:25:24 +0700
commitaf8e5a90f4244bfe1174724b86bc4b73599b932c (patch)
treef44c483166c1fe7dfbf83e9dcfc2b182d6dbf5ca /src/class
parent8a48e994b667a087ddc25f4d88da6d26be41b845 (diff)
parent794bbd7177dd5f3cab35eadf9a9268eddf61736f (diff)
Merge pull request #991 from hathach/fix-midi-available
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..eb85b668c 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* 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)