2018-08-19 11:45:46 +02:00
|
|
|
///
|
2019-10-26 18:42:19 +02:00
|
|
|
/// @file audio.h @brief Audio module headerfile
|
2018-08-19 11:45:46 +02:00
|
|
|
///
|
2021-12-27 20:02:45 +01:00
|
|
|
/// Copyright (c) 2009 - 2014 by Johns. All Rights Reserved.
|
2018-08-19 11:45:46 +02:00
|
|
|
///
|
2019-10-26 18:42:19 +02:00
|
|
|
/// Contributor(s):
|
2018-08-19 11:45:46 +02:00
|
|
|
///
|
2019-10-26 18:42:19 +02:00
|
|
|
/// License: AGPLv3
|
2018-08-19 11:45:46 +02:00
|
|
|
///
|
2019-10-26 18:42:19 +02:00
|
|
|
/// This program is free software: you can redistribute it and/or modify
|
|
|
|
/// it under the terms of the GNU Affero General Public License as
|
|
|
|
/// published by the Free Software Foundation, either version 3 of the
|
|
|
|
/// License.
|
2018-08-19 11:45:46 +02:00
|
|
|
///
|
2019-10-26 18:42:19 +02:00
|
|
|
/// 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 Affero General Public License for more details.
|
2018-08-19 11:45:46 +02:00
|
|
|
///
|
2019-10-26 18:42:19 +02:00
|
|
|
/// $Id: da055758af70cfdb9ab1989d5fcfb218c5d6a366 $
|
2018-08-19 11:45:46 +02:00
|
|
|
//////////////////////////////////////////////////////////////////////////////
|
|
|
|
|
|
|
|
/// @addtogroup Audio
|
|
|
|
/// @{
|
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
2019-10-26 18:42:19 +02:00
|
|
|
// Prototypes
|
2018-08-19 11:45:46 +02:00
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
2021-12-27 20:02:45 +01:00
|
|
|
extern void AudioEnqueue(const void *, int); ///< buffer audio samples
|
|
|
|
extern void AudioFlushBuffers(void); ///< flush audio buffers
|
|
|
|
extern void AudioPoller(void); ///< poll audio events/handling
|
|
|
|
extern int AudioFreeBytes(void); ///< free bytes in audio output
|
|
|
|
extern int AudioUsedBytes(void); ///< used bytes in audio output
|
|
|
|
extern int64_t AudioGetDelay(void); ///< get current audio delay
|
|
|
|
extern void AudioSetClock(int64_t); ///< set audio clock base
|
|
|
|
extern int64_t AudioGetClock(); ///< get current audio clock
|
|
|
|
extern void AudioSetVolume(int); ///< set volume
|
|
|
|
extern int AudioSetup(int *, int *, int); ///< setup audio output
|
2018-08-19 11:45:46 +02:00
|
|
|
|
2021-12-27 20:02:45 +01:00
|
|
|
extern void AudioPlay(void); ///< play audio
|
|
|
|
extern void AudioPause(void); ///< pause audio
|
2018-08-19 11:45:46 +02:00
|
|
|
|
2021-12-27 20:02:45 +01:00
|
|
|
extern void AudioSetBufferTime(int); ///< set audio buffer time
|
|
|
|
extern void AudioSetSoftvol(int); ///< enable/disable softvol
|
|
|
|
extern void AudioSetNormalize(int, int); ///< set normalize parameters
|
|
|
|
extern void AudioSetCompression(int, int); ///< set compression parameters
|
|
|
|
extern void AudioSetStereoDescent(int); ///< set stereo loudness descent
|
2018-08-19 11:45:46 +02:00
|
|
|
|
2021-12-27 20:02:45 +01:00
|
|
|
extern void AudioSetDevice(const char *); ///< set PCM audio device
|
2018-08-19 11:45:46 +02:00
|
|
|
|
2021-12-27 20:02:45 +01:00
|
|
|
/// set pass-through device
|
2018-08-19 11:45:46 +02:00
|
|
|
extern void AudioSetPassthroughDevice(const char *);
|
2021-12-27 20:02:45 +01:00
|
|
|
extern void AudioSetChannel(const char *); ///< set mixer channel
|
|
|
|
extern void AudioSetAutoAES(int); ///< set automatic AES flag handling
|
|
|
|
extern void AudioInit(void); ///< setup audio module
|
|
|
|
extern void AudioExit(void); ///< cleanup and exit audio module
|
2018-08-19 11:45:46 +02:00
|
|
|
|
|
|
|
//----------------------------------------------------------------------------
|
2019-10-26 18:42:19 +02:00
|
|
|
// Variables
|
2018-08-19 11:45:46 +02:00
|
|
|
//----------------------------------------------------------------------------
|
|
|
|
|
2023-07-16 10:07:21 +02:00
|
|
|
extern char AudioAlsaNotest; ///< disable Alsa capability test
|
2021-12-27 20:02:45 +01:00
|
|
|
extern char AudioAlsaDriverBroken; ///< disable broken driver message
|
|
|
|
extern char AudioAlsaNoCloseOpen; ///< disable alsa close/open fix
|
|
|
|
extern char AudioAlsaCloseOpenDelay; ///< enable alsa close/open delay fix
|
2018-08-19 11:45:46 +02:00
|
|
|
|
|
|
|
/// @}
|