21 |
|
|
22 |
#include "rdesktop.h" |
#include "rdesktop.h" |
23 |
#include "rdpsnd.h" |
#include "rdpsnd.h" |
24 |
|
#include "rdpsnd_dsp.h" |
25 |
|
|
26 |
#define RDPSND_CLOSE 1 |
#define RDPSND_CLOSE 1 |
27 |
#define RDPSND_WRITE 2 |
#define RDPSND_WRITE 2 |
226 |
current_format = format; |
current_format = format; |
227 |
} |
} |
228 |
|
|
229 |
current_driver->wave_out_write(s, tick, packet_index); |
current_driver-> |
230 |
|
wave_out_write(rdpsnd_dsp_process |
231 |
|
(s, current_driver, &formats[current_format]), tick, |
232 |
|
packet_index); |
233 |
awaiting_data_packet = False; |
awaiting_data_packet = False; |
234 |
return; |
return; |
235 |
} |
} |
313 |
*reg = alsa_register(options); |
*reg = alsa_register(options); |
314 |
reg = &((*reg)->next); |
reg = &((*reg)->next); |
315 |
#endif |
#endif |
|
#if defined(RDPSND_OSS) |
|
|
*reg = oss_register(options); |
|
|
reg = &((*reg)->next); |
|
|
#endif |
|
316 |
#if defined(RDPSND_SUN) |
#if defined(RDPSND_SUN) |
317 |
*reg = sun_register(options); |
*reg = sun_register(options); |
318 |
reg = &((*reg)->next); |
reg = &((*reg)->next); |
319 |
#endif |
#endif |
320 |
|
#if defined(RDPSND_OSS) |
321 |
|
*reg = oss_register(options); |
322 |
|
reg = &((*reg)->next); |
323 |
|
#endif |
324 |
#if defined(RDPSND_SGI) |
#if defined(RDPSND_SGI) |
325 |
*reg = sgi_register(options); |
*reg = sgi_register(options); |
326 |
reg = &((*reg)->next); |
reg = &((*reg)->next); |
399 |
packet->s = *s; |
packet->s = *s; |
400 |
packet->tick = tick; |
packet->tick = tick; |
401 |
packet->index = index; |
packet->index = index; |
|
packet->s.p += 4; |
|
|
|
|
|
/* we steal the data buffer from s, give it a new one */ |
|
|
s->data = malloc(s->size); |
|
402 |
|
|
403 |
if (!g_dsp_busy) |
if (!g_dsp_busy) |
404 |
current_driver->wave_out_play(); |
current_driver->wave_out_play(); |
425 |
inline void |
inline void |
426 |
rdpsnd_queue_next(void) |
rdpsnd_queue_next(void) |
427 |
{ |
{ |
428 |
free(packet_queue[queue_lo].s.data); |
xfree(packet_queue[queue_lo].s.data); |
429 |
queue_lo = (queue_lo + 1) % MAX_QUEUE; |
queue_lo = (queue_lo + 1) % MAX_QUEUE; |
430 |
} |
} |
431 |
|
|