/*****************************************************************************
* audio_output.h : audio output thread interface
- * (c)1999 VideoLAN
*****************************************************************************
+ * Copyright (C) 1999, 2000 VideoLAN
+ *
+ * Authors:
+ * Michel Kaempf <maxx@via.ecp.fr>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
+ *****************************************************************************/
+
+/*****************************************************************************
* Required headers:
- * - <sys/soundcard.h> ( audio_buf_info )
* - "common.h" ( boolean_t )
* - "mtime.h" ( mtime_t )
- * - "vlc_thread.h" ( vlc_thread_t )
+ * - "threads.h" ( vlc_thread_t )
*****************************************************************************/
/* TODO :
/* Default stereo mode (0 stands for mono, 1 for stereo) */
#define AOUT_DEFAULT_STEREO 1
+/* #define AOUT_DEFAULT_STEREO 0 */
/* Audio output rate, in Hz */
-#define AOUT_MIN_RATE 22050 /* ?? */
+#define AOUT_MIN_RATE 22050 /* XXX?? */
#define AOUT_DEFAULT_RATE 44100
#define AOUT_MAX_RATE 48000
+
+/* Volume (default 100) */
+#define VOL 100
+#define VOLSTEP 5
+#define VOLMAX 300
+
/* Number of audio output frames contained in an audio output fifo.
* (AOUT_FIFO_SIZE + 1) must be a power of 2, in order to optimise the
* %(AOUT_FIFO_SIZE + 1) operation with an &AOUT_FIFO_SIZE.
{
vlc_thread_t thread_id;
boolean_t b_die;
+ boolean_t b_active;
vlc_mutex_t fifos_lock;
aout_fifo_t fifo[ AOUT_MAX_FIFOS ];
/* Plugins */
- void * p_aout_plugin; /* video output plugin */
aout_sys_open_t * p_sys_open;
aout_sys_reset_t * p_sys_reset;
aout_sys_setformat_t * p_sys_setformat;
* for the OSS output */
p_aout_sys_t p_sys;
+
+ /* there is the current volume */
+ int vol;
+
} aout_thread_t;
/* Those are from <linux/soundcard.h> but are needed because of formats