Functions | Variables
alsa_enc.c File Reference

ALSA input and output: output. More...

#include <alsa/asoundlib.h>
#include "libavutil/internal.h"
#include "libavutil/time.h"
#include "libavformat/internal.h"
#include "avdevice.h"
#include "alsa.h"

Go to the source code of this file.


static av_cold int audio_write_header (AVFormatContext *s1)
static int audio_write_packet (AVFormatContext *s1, AVPacket *pkt)
static int audio_write_frame (AVFormatContext *s1, int stream_index, AVFrame **frame, unsigned flags)
static void audio_get_output_timestamp (AVFormatContext *s1, int stream, int64_t *dts, int64_t *wall)
static int audio_get_device_list (AVFormatContext *h, AVDeviceInfoList *device_list)


static const AVClass alsa_muxer_class
AVOutputFormat ff_alsa_muxer

Detailed Description

ALSA input and output: output.

Luca Abeni ( lucabe72 email it )
Benoit Fouet ( benoit fouet free fr )

This avdevice encoder can play audio to 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 playback period is set to the lower value available for the device, which gives a low latency suitable for real-time playback.

Definition in file alsa_enc.c.

Function Documentation

static av_cold int audio_write_header ( AVFormatContext s1)

Definition at line 50 of file alsa_enc.c.

static int audio_write_packet ( AVFormatContext s1,
AVPacket pkt 

Definition at line 83 of file alsa_enc.c.

Referenced by audio_write_frame().

static int audio_write_frame ( AVFormatContext s1,
int  stream_index,
AVFrame **  frame,
unsigned  flags 

Definition at line 119 of file alsa_enc.c.

static void audio_get_output_timestamp ( AVFormatContext s1,
int  stream,
int64_t *  dts,
int64_t *  wall 

Definition at line 138 of file alsa_enc.c.

static int audio_get_device_list ( AVFormatContext h,
AVDeviceInfoList device_list 

Definition at line 148 of file alsa_enc.c.

Variable Documentation

const AVClass alsa_muxer_class
Initial value:
= {
.class_name = "ALSA outdev",
.item_name = av_default_item_name,
Definition: version.h:85
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:235

Definition at line 153 of file alsa_enc.c.

AVOutputFormat ff_alsa_muxer
Initial value:
= {
.name = "alsa",
.long_name = NULL_IF_CONFIG_SMALL("ALSA audio output"),
.priv_data_size = sizeof(AlsaData),
.audio_codec = DEFAULT_CODEC_ID,
.video_codec = AV_CODEC_ID_NONE,
.write_uncoded_frame = audio_write_frame,
.get_device_list = audio_get_device_list,
.get_output_timestamp = audio_get_output_timestamp,
.priv_class = &alsa_muxer_class,
static void write_packet(OutputFile *of, AVPacket *pkt, OutputStream *ost, int unqueue)
Definition: ffmpeg.c:726
static av_cold int audio_write_header(AVFormatContext *s1)
Definition: alsa_enc.c:50
static int audio_write_frame(AVFormatContext *s1, int stream_index, AVFrame **frame, unsigned flags)
Definition: alsa_enc.c:119
Definition: alsa.h:42
Definition: alsa.h:48
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:115
static int audio_write_packet(AVFormatContext *s1, AVPacket *pkt)
Definition: alsa_enc.c:83
static int write_trailer(AVFormatContext *s1)
Definition: v4l2enc.c:98
static const AVClass alsa_muxer_class
Definition: alsa_enc.c:153
av_cold int ff_alsa_close(AVFormatContext *s1)
Close the ALSA PCM.
Definition: alsa.c:299
static int audio_get_device_list(AVFormatContext *h, AVDeviceInfoList *device_list)
Definition: alsa_enc.c:148
static void audio_get_output_timestamp(AVFormatContext *s1, int stream, int64_t *dts, int64_t *wall)
Definition: alsa_enc.c:138
#define flags(name, subs,...)
Definition: cbs_av1.c:561
Demuxer will use avio_open, no opened file should be provided by the caller.
Definition: avformat.h:458
static void write_header(FFV1Context *f)
Definition: ffv1enc.c:346

Definition at line 160 of file alsa_enc.c.