Libav
Data Structures | Macros | Functions | Variables
pulse.c File Reference

PulseAudio input using the simple API. More...

#include <pulse/simple.h>
#include <pulse/rtclock.h>
#include <pulse/error.h>
#include "libavformat/avformat.h"
#include "libavformat/internal.h"
#include "libavutil/time.h"
#include "libavutil/opt.h"

Go to the source code of this file.

Data Structures

struct  PulseData
 

Macros

#define DEFAULT_CODEC_ID   AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE)
 
#define OFFSET(a)   offsetof(PulseData, a)
 
#define D   AV_OPT_FLAG_DECODING_PARAM
 

Functions

static pa_sample_format_t codec_id_to_pulse_format (int codec_id)
 
static av_cold int pulse_read_header (AVFormatContext *s)
 
static int pulse_read_packet (AVFormatContext *s, AVPacket *pkt)
 
static av_cold int pulse_close (AVFormatContext *s)
 

Variables

static const AVOption options []
 
static const AVClass pulse_demuxer_class
 
AVInputFormat ff_pulse_demuxer
 

Detailed Description

PulseAudio input using the simple API.

Author
Luca Barbato lu_ze.nosp@m.ro@g.nosp@m.entoo.nosp@m..org

Definition in file pulse.c.

Macro Definition Documentation

§ DEFAULT_CODEC_ID

#define DEFAULT_CODEC_ID   AV_NE(AV_CODEC_ID_PCM_S16BE, AV_CODEC_ID_PCM_S16LE)

Definition at line 37 of file pulse.c.

Referenced by pulse_read_header().

§ OFFSET

#define OFFSET (   a)    offsetof(PulseData, a)

Definition at line 164 of file pulse.c.

§ D

Definition at line 165 of file pulse.c.

Function Documentation

§ codec_id_to_pulse_format()

static pa_sample_format_t codec_id_to_pulse_format ( int  codec_id)
static

Definition at line 54 of file pulse.c.

Referenced by pulse_read_header().

§ pulse_read_header()

static av_cold int pulse_read_header ( AVFormatContext s)
static

Definition at line 71 of file pulse.c.

§ pulse_read_packet()

static int pulse_read_packet ( AVFormatContext s,
AVPacket pkt 
)
static

Definition at line 121 of file pulse.c.

§ pulse_close()

static av_cold int pulse_close ( AVFormatContext s)
static

Definition at line 157 of file pulse.c.

Variable Documentation

§ options

const AVOption options[]
static
Initial value:
= {
{ "server", "pulse server name", OFFSET(server), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, D },
{ "name", "application name", OFFSET(name), AV_OPT_TYPE_STRING, {.str = "libav"}, 0, 0, D },
{ "stream_name", "stream description", OFFSET(stream_name), AV_OPT_TYPE_STRING, {.str = "record"}, 0, 0, D },
{ "sample_rate", "sample rate in Hz", OFFSET(sample_rate), AV_OPT_TYPE_INT, {.i64 = 48000}, 1, INT_MAX, D },
{ "channels", "number of audio channels", OFFSET(channels), AV_OPT_TYPE_INT, {.i64 = 2}, 1, INT_MAX, D },
{ "frame_size", "number of bytes per frame", OFFSET(frame_size), AV_OPT_TYPE_INT, {.i64 = 1024}, 1, INT_MAX, D },
{ "fragment_size", "buffering size, affects latency and cpu usage", OFFSET(fragment_size), AV_OPT_TYPE_INT, {.i64 = -1}, -1, INT_MAX, D },
{ "wallclock", "set the initial pts using the current time", OFFSET(wallclock), AV_OPT_TYPE_INT, {.i64 = 1}, -1, 1, D },
{ NULL },
}
const char * name
static const uint8_t frame_size[4]
Definition: g723_1_data.h:47
NULL
Definition: eval.c:55
#define D
Definition: pulse.c:165
#define OFFSET(a)
Definition: pulse.c:164

Definition at line 167 of file pulse.c.

§ pulse_demuxer_class

const AVClass pulse_demuxer_class
static
Initial value:
= {
.class_name = "Pulse demuxer",
.item_name = av_default_item_name,
.option = options,
}
static const AVOption options[]
Definition: pulse.c:167
LIBAVUTIL_VERSION_INT
Definition: eval.c:55
av_default_item_name
Definition: dnxhdenc.c:52

Definition at line 179 of file pulse.c.

§ ff_pulse_demuxer

AVInputFormat ff_pulse_demuxer
Initial value:
= {
.name = "pulse",
.long_name = NULL_IF_CONFIG_SMALL("Pulse audio input"),
.priv_data_size = sizeof(PulseData),
.priv_class = &pulse_demuxer_class,
}
static av_cold int pulse_close(AVFormatContext *s)
Definition: pulse.c:157
static int flags
Definition: log.c:44
static av_cold int read_close(AVFormatContext *ctx)
Definition: libcdio.c:145
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:145
static int pulse_read_packet(AVFormatContext *s, AVPacket *pkt)
Definition: pulse.c:121
static int read_header(FFV1Context *f)
Definition: ffv1dec.c:544
static int read_packet(AVFormatContext *ctx, AVPacket *pkt)
Definition: libcdio.c:114
static const AVClass pulse_demuxer_class
Definition: pulse.c:179
static av_cold int pulse_read_header(AVFormatContext *s)
Definition: pulse.c:71
#define AVFMT_NOFILE
Demuxer will use avio_open, no opened file should be provided by the caller.
Definition: avformat.h:409

Definition at line 186 of file pulse.c.