Open Broadcaster Software
Free, open source software for live streaming and recording
audio-io.h File Reference

Go to the source code of this file.

Data Structures

struct  audio_data
 
struct  audio_output_data
 
struct  audio_output_info
 
struct  audio_convert_info
 

Macros

#define MAX_AUDIO_MIXES   6
 
#define MAX_AUDIO_CHANNELS   2
 
#define AUDIO_OUTPUT_FRAMES   1024
 
#define AUDIO_OUTPUT_SUCCESS   0
 
#define AUDIO_OUTPUT_INVALIDPARAM   -1
 
#define AUDIO_OUTPUT_FAIL   -2
 

Typedefs

typedef struct audio_output audio_t
 
typedef bool(* audio_input_callback_t) (void *param, uint64_t start_ts, uint64_t end_ts, uint64_t *new_ts, uint32_t active_mixers, struct audio_output_data *mixes)
 
typedef void(* audio_output_callback_t) (void *param, size_t mix_idx, struct audio_data *data)
 

Enumerations

enum  audio_format {
  AUDIO_FORMAT_UNKNOWN, AUDIO_FORMAT_U8BIT, AUDIO_FORMAT_16BIT, AUDIO_FORMAT_32BIT,
  AUDIO_FORMAT_FLOAT, AUDIO_FORMAT_U8BIT_PLANAR, AUDIO_FORMAT_16BIT_PLANAR, AUDIO_FORMAT_32BIT_PLANAR,
  AUDIO_FORMAT_FLOAT_PLANAR
}
 
enum  speaker_layout {
  SPEAKERS_UNKNOWN, SPEAKERS_MONO, SPEAKERS_STEREO, SPEAKERS_2POINT1,
  SPEAKERS_QUAD, SPEAKERS_4POINT1, SPEAKERS_5POINT1, SPEAKERS_5POINT1_SURROUND,
  SPEAKERS_7POINT1, SPEAKERS_7POINT1_SURROUND, SPEAKERS_SURROUND
}
 

Functions

EXPORT int audio_output_open (audio_t **audio, struct audio_output_info *info)
 
EXPORT void audio_output_close (audio_t *audio)
 
EXPORT bool audio_output_connect (audio_t *video, size_t mix_idx, const struct audio_convert_info *conversion, audio_output_callback_t callback, void *param)
 
EXPORT void audio_output_disconnect (audio_t *video, size_t mix_idx, audio_output_callback_t callback, void *param)
 
EXPORT bool audio_output_active (const audio_t *audio)
 
EXPORT size_t audio_output_get_block_size (const audio_t *audio)
 
EXPORT size_t audio_output_get_planes (const audio_t *audio)
 
EXPORT size_t audio_output_get_channels (const audio_t *audio)
 
EXPORT uint32_t audio_output_get_sample_rate (const audio_t *audio)
 
EXPORT const struct audio_output_infoaudio_output_get_info (const audio_t *audio)
 

Macro Definition Documentation

◆ AUDIO_OUTPUT_FAIL

#define AUDIO_OUTPUT_FAIL   -2

◆ AUDIO_OUTPUT_FRAMES

#define AUDIO_OUTPUT_FRAMES   1024

◆ AUDIO_OUTPUT_INVALIDPARAM

#define AUDIO_OUTPUT_INVALIDPARAM   -1

◆ AUDIO_OUTPUT_SUCCESS

#define AUDIO_OUTPUT_SUCCESS   0

◆ MAX_AUDIO_CHANNELS

#define MAX_AUDIO_CHANNELS   2

◆ MAX_AUDIO_MIXES

#define MAX_AUDIO_MIXES   6

Typedef Documentation

◆ audio_input_callback_t

typedef bool(* audio_input_callback_t) (void *param, uint64_t start_ts, uint64_t end_ts, uint64_t *new_ts, uint32_t active_mixers, struct audio_output_data *mixes)

◆ audio_output_callback_t

typedef void(* audio_output_callback_t) (void *param, size_t mix_idx, struct audio_data *data)

◆ audio_t

typedef struct audio_output audio_t

Enumeration Type Documentation

◆ audio_format

Enumerator
AUDIO_FORMAT_UNKNOWN 
AUDIO_FORMAT_U8BIT 
AUDIO_FORMAT_16BIT 
AUDIO_FORMAT_32BIT 
AUDIO_FORMAT_FLOAT 
AUDIO_FORMAT_U8BIT_PLANAR 
AUDIO_FORMAT_16BIT_PLANAR 
AUDIO_FORMAT_32BIT_PLANAR 
AUDIO_FORMAT_FLOAT_PLANAR 

◆ speaker_layout

Enumerator
SPEAKERS_UNKNOWN 
SPEAKERS_MONO 
SPEAKERS_STEREO 
SPEAKERS_2POINT1 
SPEAKERS_QUAD 
SPEAKERS_4POINT1 
SPEAKERS_5POINT1 
SPEAKERS_5POINT1_SURROUND 
SPEAKERS_7POINT1 
SPEAKERS_7POINT1_SURROUND 
SPEAKERS_SURROUND 

Function Documentation

◆ audio_output_active()

EXPORT bool audio_output_active ( const audio_t audio)

◆ audio_output_close()

EXPORT void audio_output_close ( audio_t audio)

◆ audio_output_connect()

EXPORT bool audio_output_connect ( audio_t video,
size_t  mix_idx,
const struct audio_convert_info conversion,
audio_output_callback_t  callback,
void *  param 
)

◆ audio_output_disconnect()

EXPORT void audio_output_disconnect ( audio_t video,
size_t  mix_idx,
audio_output_callback_t  callback,
void *  param 
)

◆ audio_output_get_block_size()

EXPORT size_t audio_output_get_block_size ( const audio_t audio)

◆ audio_output_get_channels()

EXPORT size_t audio_output_get_channels ( const audio_t audio)

◆ audio_output_get_info()

EXPORT const struct audio_output_info* audio_output_get_info ( const audio_t audio)

◆ audio_output_get_planes()

EXPORT size_t audio_output_get_planes ( const audio_t audio)

◆ audio_output_get_sample_rate()

EXPORT uint32_t audio_output_get_sample_rate ( const audio_t audio)

◆ audio_output_open()

EXPORT int audio_output_open ( audio_t **  audio,
struct audio_output_info info 
)