forked from PAWPAW-Mirror/lib_xua
Decouple now reports out underflow to deliver and doesnt send mute samples itself
This commit is contained in:
@@ -113,7 +113,9 @@ void handle_audio_request(chanend c_mix_out)
|
|||||||
|
|
||||||
/* Input word that triggered interrupt and handshake back */
|
/* Input word that triggered interrupt and handshake back */
|
||||||
(void) inuint(c_mix_out);
|
(void) inuint(c_mix_out);
|
||||||
outuint(c_mix_out, 0);
|
|
||||||
|
/* Reply with underflow */
|
||||||
|
outuint(c_mix_out, outUnderflow);
|
||||||
|
|
||||||
asm("ldw %0, dp[g_curUsbSpeed]" : "=r" (usb_speed) :);
|
asm("ldw %0, dp[g_curUsbSpeed]" : "=r" (usb_speed) :);
|
||||||
|
|
||||||
@@ -239,6 +241,7 @@ void handle_audio_request(chanend c_mix_out)
|
|||||||
if(outUnderflow)
|
if(outUnderflow)
|
||||||
{
|
{
|
||||||
#pragma xta endpoint "out_underflow"
|
#pragma xta endpoint "out_underflow"
|
||||||
|
#if 0
|
||||||
/* We're still pre-buffering, send out 0 samps */
|
/* We're still pre-buffering, send out 0 samps */
|
||||||
for(int i = 0; i < NUM_USB_CHAN_OUT; i++)
|
for(int i = 0; i < NUM_USB_CHAN_OUT; i++)
|
||||||
{
|
{
|
||||||
@@ -252,6 +255,7 @@ void handle_audio_request(chanend c_mix_out)
|
|||||||
else
|
else
|
||||||
outuint(c_mix_out, sample);
|
outuint(c_mix_out, sample);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Calc how many samples left in buffer */
|
/* Calc how many samples left in buffer */
|
||||||
outSamps = g_aud_from_host_wrptr - g_aud_from_host_rdptr;
|
outSamps = g_aud_from_host_wrptr - g_aud_from_host_rdptr;
|
||||||
@@ -265,7 +269,6 @@ void handle_audio_request(chanend c_mix_out)
|
|||||||
{
|
{
|
||||||
outUnderflow = 0;
|
outUnderflow = 0;
|
||||||
outSamps++;
|
outSamps++;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user