/* * ao_arts - aRts audio output driver for MPlayer * * Michele Balistreri * * This driver is distribuited under terms of GPL * */ #include #include #include "audio_out.h" #include "audio_out_internal.h" #include "afmt.h" #include "../config.h" #include "../mp_msg.h" #define OBTAIN_BITRATE(a) (((a != AFMT_U8) || (a != AFMT_S8)) ? 16 : 8) static arts_stream_t stream; static ao_info_t info = { "aRts audio output", "arts", "Michele Balistreri ", "" }; LIBAO_EXTERN(arts) static int control(int cmd, int arg) { return(CONTROL_UNKNOWN); } static int init(int rate_hz, int channels, int format, int flags) { int err; int frag_spec; if(err=arts_init()) { mp_msg(MSGT_AO, MSGL_ERR, "AO: [arts] %s\n", arts_error_text(err)); return 0; } else mp_msg(MSGT_AO, MSGL_INFO, "AO: [arts] Connected to sound server\n"); ao_data.format = format; ao_data.channels = channels; ao_data.samplerate = rate_hz; ao_data.bps = (rate_hz*channels); ao_data.buffersize = 4096; if(format != AFMT_U8 && format != AFMT_S8) ao_data.bps*=2; for (frag_spec = 0; (0x01<