chansrv: sound: zero out ack flags when sound_send_close called, to
avoid deadloop when chunk is sent and not acked back by the client.
This commit is contained in:
parent
0db5bdbf69
commit
2305e6de59
@ -373,6 +373,8 @@ sound_send_wave_data_chunk(char *data, int data_bytes)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
LOG(20, ("sound_send_wave_data_chunk: g_sent_flag[%d] = %d",
|
||||||
|
g_cBlockNo + 1, g_sent_flag[(g_cBlockNo + 1) & 0xff]));
|
||||||
if (g_sent_flag[(g_cBlockNo + 1) & 0xff] & 1)
|
if (g_sent_flag[(g_cBlockNo + 1) & 0xff] & 1)
|
||||||
{
|
{
|
||||||
LOG(10, ("sound_send_wave_data_chunk: no room"));
|
LOG(10, ("sound_send_wave_data_chunk: no room"));
|
||||||
@ -474,6 +476,7 @@ sound_send_close(void)
|
|||||||
/* send any left over data */
|
/* send any left over data */
|
||||||
sound_send_wave_data_chunk(g_buffer, g_buf_index);
|
sound_send_wave_data_chunk(g_buffer, g_buf_index);
|
||||||
g_buf_index = 0;
|
g_buf_index = 0;
|
||||||
|
g_memset(g_sent_flag, 0, sizeof(g_sent_flag));
|
||||||
|
|
||||||
make_stream(s);
|
make_stream(s);
|
||||||
init_stream(s, 8182);
|
init_stream(s, 8182);
|
||||||
@ -701,6 +704,7 @@ sound_init(void)
|
|||||||
int APP_CC
|
int APP_CC
|
||||||
sound_deinit(void)
|
sound_deinit(void)
|
||||||
{
|
{
|
||||||
|
LOG(10, ("sound_deinit:"));
|
||||||
if (g_audio_l_trans_out != 0)
|
if (g_audio_l_trans_out != 0)
|
||||||
{
|
{
|
||||||
trans_delete(g_audio_l_trans_out);
|
trans_delete(g_audio_l_trans_out);
|
||||||
|
Loading…
Reference in New Issue
Block a user