FFmpeg
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions | Variables
openal-dec.c File Reference

OpenAL 1.1 capture device for libavdevice. More...

#include <AL/al.h>
#include <AL/alc.h>
#include "libavutil/opt.h"
#include "libavutil/time.h"
#include "libavformat/internal.h"
#include "avdevice.h"

Go to the source code of this file.

Data Structures

struct  al_data
 
struct  al_format_info
 

Macros

#define LOWEST_AL_FORMAT   FFMIN(FFMIN(AL_FORMAT_MONO8,AL_FORMAT_MONO16),FFMIN(AL_FORMAT_STEREO8,AL_FORMAT_STEREO16))
 
#define OFFSET(x)   offsetof(al_data, x)
 

Functions

static al_format_infoget_al_format_info (ALCenum al_fmt)
 Get information about an AL_FORMAT value.
 
static int al_get_error (ALCdevice *device, const char **error_msg_ret)
 Get the OpenAL error code, translated into an av/errno error code.
 
static void print_al_capture_devices (void *log_ctx)
 Print out a list of OpenAL capture devices on this system.
 
static int read_header (AVFormatContext *ctx)
 
static int read_packet (AVFormatContext *ctx, AVPacket *pkt)
 
static int read_close (AVFormatContext *ctx)
 

Variables

static const AVOption options []
 
class {
      class_name = "openal"
 
      item_name = av_default_item_name
 
      option = options
 
}; 
 
AVInputFormat ff_openal_demuxer
 

Detailed Description

OpenAL 1.1 capture device for libavdevice.

Definition in file openal-dec.c.

Macro Definition Documentation

#define LOWEST_AL_FORMAT   FFMIN(FFMIN(AL_FORMAT_MONO8,AL_FORMAT_MONO16),FFMIN(AL_FORMAT_STEREO8,AL_FORMAT_STEREO16))

Definition at line 56 of file openal-dec.c.

Referenced by get_al_format_info().

#define OFFSET (   x)    offsetof(al_data, x)

Definition at line 223 of file openal-dec.c.

Function Documentation

static al_format_info* get_al_format_info ( ALCenum  al_fmt)
inlinestatic

Get information about an AL_FORMAT value.

Parameters
al_fmtthe AL_FORMAT value to find information about.
Returns
A pointer to a structure containing information about the AL_FORMAT value.

Definition at line 63 of file openal-dec.c.

Referenced by read_header().

static int al_get_error ( ALCdevice *  device,
const char **  error_msg_ret 
)
inlinestatic

Get the OpenAL error code, translated into an av/errno error code.

Parameters
deviceThe ALC device to check for errors.
error_msg_retA pointer to a char* in which to return the error message, or NULL if desired.
Returns
The error code, or 0 if there is no error.

Definition at line 81 of file openal-dec.c.

Referenced by read_header(), and read_packet().

static void print_al_capture_devices ( void log_ctx)
inlinestatic

Print out a list of OpenAL capture devices on this system.

Definition at line 108 of file openal-dec.c.

Referenced by read_header().

static int read_header ( AVFormatContext ctx)
static

Definition at line 121 of file openal-dec.c.

static int read_packet ( AVFormatContext ctx,
AVPacket pkt 
)
static

Definition at line 183 of file openal-dec.c.

static int read_close ( AVFormatContext ctx)
static

Definition at line 212 of file openal-dec.c.

Variable Documentation

const AVOption options[]
static
Initial value:
= {
{"channels", "set number of channels", OFFSET(channels), AV_OPT_TYPE_INT, {.i64=2}, 1, 2, AV_OPT_FLAG_DECODING_PARAM },
{"sample_rate", "set sample rate", OFFSET(sample_rate), AV_OPT_TYPE_INT, {.i64=44100}, 1, 192000, AV_OPT_FLAG_DECODING_PARAM },
{"sample_size", "set sample size", OFFSET(sample_size), AV_OPT_TYPE_INT, {.i64=16}, 8, 16, AV_OPT_FLAG_DECODING_PARAM },
{"list_devices", "list available devices", OFFSET(list_devices), AV_OPT_TYPE_INT, {.i64=0}, 0, 1, AV_OPT_FLAG_DECODING_PARAM, "list_devices" },
{"true", "", 0, AV_OPT_TYPE_CONST, {.i64=1}, 0, 0, AV_OPT_FLAG_DECODING_PARAM, "list_devices" },
{"false", "", 0, AV_OPT_TYPE_CONST, {.i64=0}, 0, 0, AV_OPT_FLAG_DECODING_PARAM, "list_devices" },
{NULL},
}

Definition at line 225 of file openal-dec.c.

class_name = "openal"

Definition at line 236 of file openal-dec.c.

Referenced by av_opt_show2().

item_name = av_default_item_name

Definition at line 237 of file openal-dec.c.

option = options
const { ... }
AVInputFormat ff_openal_demuxer
Initial value:
= {
.name = "openal",
.long_name = NULL_IF_CONFIG_SMALL("OpenAL audio capture device"),
.priv_data_size = sizeof(al_data),
.read_probe = NULL,
.priv_class = &class
}

Definition at line 242 of file openal-dec.c.