00001 #ifndef AUDIOESOUND_H
00002 #define AUDIOESOUND_H
00003
00004 #include "audiodevice.inc"
00005
00006 #ifdef HAVE_ESOUND
00007
00008 class AudioESound : public AudioLowLevel
00009 {
00010 public:
00011 AudioESound(AudioDevice *device);
00012 ~AudioESound();
00013
00014 int open_input();
00015 int open_output();
00016 int open_duplex();
00017 int write_buffer(char *buffer, int size);
00018 int read_buffer(char *buffer, int size);
00019 int close_all();
00020 int64_t device_position();
00021 int flush_device();
00022 int interrupt_playback();
00023
00024 private:
00025 int get_bit_flag(int bits);
00026 int get_channels_flag(int channels);
00027 char* translate_device_string(char *server, int port);
00028 int esd_in, esd_out, esd_duplex;
00029 int esd_in_fd, esd_out_fd, esd_duplex_fd;
00030 char device_string[1024];
00031 };
00032
00033 #endif
00034 #endif