4 * The esd (esound) audio driver
6 * Copyright (c) 2005 Nathan Keynes.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
21 #include "aica/audio.h"
25 int esd_sample_size = 1;
27 gboolean audio_esd_set_format( uint32_t rate, uint32_t format )
29 if( esd_handle != -1 ) {
30 esd_close(esd_handle);
32 esd_format_t esd_format = 0;
34 if( format & AUDIO_FMT_16BIT ) {
35 esd_format |= ESD_BITS16;
36 } else esd_format |= ESD_BITS8;
37 if( format & AUDIO_FMT_STEREO ) {
38 esd_format |= ESD_STEREO;
40 else esd_format |= ESD_MONO;
42 esd_handle = esd_play_stream( esd_format, rate, "localhost", "lxdream" );
43 if( esd_handle == -1 ) {
44 ERROR( "Unable to open audio output (ESD)" );
50 gboolean audio_esd_process_buffer( audio_buffer_t buffer )
52 if( esd_handle != -1 ) {
53 write( esd_handle, buffer->data, buffer->length );
56 ERROR( "ESD not initialized" );
61 struct audio_driver audio_esd_driver = { "esd", audio_esd_set_format, audio_esd_process_buffer };
.