/[rdesktop]/sourceforge.net/trunk/rdesktop/rdpsnd.h
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /sourceforge.net/trunk/rdesktop/rdpsnd.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1279 - (show annotations)
Sun Oct 1 14:03:43 2006 UTC (17 years, 8 months ago) by stargo
File MIME type: text/plain
File size: 1908 byte(s)
make it possible for the driver to switch resampling on and off
dynamically. this will be needed for the OSS driver.

1 /*
2 rdesktop: A Remote Desktop Protocol client.
3 Sound infrastructure
4 Copyright (C) Michael Gernoth 2006
5
6 This program is free software; you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation; either version 2 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program; if not, write to the Free Software
18 Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
19 */
20
21 struct audio_packet
22 {
23 struct stream s;
24 uint16 tick;
25 uint8 index;
26 };
27
28 struct audio_driver
29 {
30 void (*wave_out_write) (STREAM s, uint16 tick, uint8 index);
31 BOOL(*wave_out_open) (void);
32 void (*wave_out_close) (void);
33 BOOL(*wave_out_format_supported) (WAVEFORMATEX * pwfx);
34 BOOL(*wave_out_set_format) (WAVEFORMATEX * pwfx);
35 void (*wave_out_volume) (uint16 left, uint16 right);
36 void (*wave_out_play) (void);
37 char *name;
38 char *description;
39 int need_byteswap_on_be;
40 int need_resampling;
41 struct audio_driver *next;
42 };
43
44 extern BOOL g_dsp_busy;
45 extern int g_dsp_fd;
46
47 void rdpsnd_queue_write(STREAM s, uint16 tick, uint8 index);
48 struct audio_packet *rdpsnd_queue_current_packet(void);
49 BOOL rdpsnd_queue_empty(void);
50 void rdpsnd_queue_init(void);
51 void rdpsnd_queue_next(void);
52 int rdpsnd_queue_next_tick(void);
53
54 /* Driver register functions */
55 struct audio_driver *alsa_register(char *options);
56 struct audio_driver *libao_register(char *options);
57 struct audio_driver *oss_register(char *options);
58 struct audio_driver *sgi_register(char *options);
59 struct audio_driver *sun_register(char *options);

  ViewVC Help
Powered by ViewVC 1.1.26