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

ALSA input and output: input. More...

#include <alsa/asoundlib.h>
#include "libavformat/internal.h"
#include "libavutil/opt.h"
#include "libavutil/mathematics.h"
#include "libavutil/time.h"
#include "avdevice.h"
#include "alsa-audio.h"

Go to the source code of this file.

Functions

static av_cold int audio_read_header (AVFormatContext *s1)
 
static int audio_read_packet (AVFormatContext *s1, AVPacket *pkt)
 
static int audio_get_device_list (AVFormatContext *h, AVDeviceInfoList *device_list)
 

Variables

static const AVOption options []
 
static const AVClass alsa_demuxer_class
 
AVInputFormat ff_alsa_demuxer
 

Detailed Description

ALSA input and output: input.

Author
Luca Abeni ( lucabe72 email it )
Benoit Fouet ( benoit fouet free fr )
Nicolas George ( nicolas george normalesup org )

This avdevice decoder allows to capture audio from an ALSA (Advanced Linux Sound Architecture) device.

The filename parameter is the name of an ALSA PCM device capable of capture, for example "default" or "plughw:1"; see the ALSA documentation for naming conventions. The empty string is equivalent to "default".

The capture period is set to the lower value available for the device, which gives a low latency suitable for real-time capture.

The PTS are an Unix time in microsecond.

Due to a bug in the ALSA library (https://bugtrack.alsa-project.org/alsa-bug/view.php?id=4308), this decoder does not work with certain ALSA plugins, especially the dsnoop plugin.

Definition in file alsa-audio-dec.c.

Function Documentation

static av_cold int audio_read_header ( AVFormatContext s1)
static

Definition at line 57 of file alsa-audio-dec.c.

static int audio_read_packet ( AVFormatContext s1,
AVPacket pkt 
)
static

Definition at line 97 of file alsa-audio-dec.c.

static int audio_get_device_list ( AVFormatContext h,
AVDeviceInfoList device_list 
)
static

Definition at line 135 of file alsa-audio-dec.c.

Variable Documentation

const AVOption options[]
static
Initial value:
= {
{ "sample_rate", "", 0x42, AV_OPT_TYPE_INT, {.i64 = 48000}, 1, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
{ "channels", "", 0x42, AV_OPT_TYPE_INT, {.i64 = 2}, 1, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
{ NULL },
}

Definition at line 140 of file alsa-audio-dec.c.

const AVClass alsa_demuxer_class
static
Initial value:
= {
.class_name = "ALSA demuxer",
.item_name = av_default_item_name,
.option = options,
}

Definition at line 146 of file alsa-audio-dec.c.

AVInputFormat ff_alsa_demuxer
Initial value:
= {
.name = "alsa",
.long_name = NULL_IF_CONFIG_SMALL("ALSA audio input"),
.priv_data_size = sizeof(AlsaData),
.priv_class = &alsa_demuxer_class,
}

Definition at line 154 of file alsa-audio-dec.c.