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 const al_format_infoget_al_format_info (ALCenum al_fmt)
 Get information about an AL_FORMAT value. More...
 
static int al_get_error (ALCdevice *device, const char **error_msg_ret)
 Get the OpenAL error code, translated into an av/errno error code. More...
 
static void print_al_capture_devices (void *log_ctx)
 Print out a list of OpenAL capture devices on this system. More...
 
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
 
      version = LIBAVUTIL_VERSION_INT
 
      category = AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT
 
}; 
 
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 231 of file openal-dec.c.

Function Documentation

static const 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 220 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},
}
#define NULL
Definition: coverity.c:32
channels
Definition: aptx.c:30
#define OFFSET(x)
Definition: openal-dec.c:231
sample_rate
#define AV_OPT_FLAG_DECODING_PARAM
a generic parameter which can be set by the user for demuxing or decoding
Definition: opt.h:277

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

class_name = "openal"

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

item_name = av_default_item_name

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

option = options

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

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

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

Referenced by device_next(), dshow_cycle_pins(), mono_decode(), show_log(), and unpack_SQVH().

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),
.priv_class = &class
}
#define NULL
Definition: coverity.c:32
static int read_packet(AVFormatContext *ctx, AVPacket *pkt)
Definition: openal-dec.c:183
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
static int read_header(AVFormatContext *ctx)
Definition: openal-dec.c:121
static int read_probe(AVProbeData *pd)
Definition: jvdec.c:55
#define flags(name, subs,...)
Definition: cbs_av1.c:596
#define AVFMT_NOFILE
Demuxer will use avio_open, no opened file should be provided by the caller.
Definition: avformat.h:465
static int read_close(AVFormatContext *ctx)
Definition: openal-dec.c:220

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