FFmpeg  2.1.1
Data Structures | Macros | Functions | Variables
pulse_audio_enc.c File Reference
#include <pulse/simple.h>
#include <pulse/error.h>
#include "libavformat/avformat.h"
#include "libavformat/internal.h"
#include "libavutil/opt.h"
#include "libavutil/time.h"
#include "libavutil/log.h"
#include "pulse_audio_common.h"

Go to the source code of this file.

Data Structures

struct  PulseData
 

Macros

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

Functions

static av_cold int pulse_write_header (AVFormatContext *h)
 
static av_cold int pulse_write_trailer (AVFormatContext *h)
 
static int pulse_write_packet (AVFormatContext *h, AVPacket *pkt)
 
static void pulse_get_output_timestamp (AVFormatContext *h, int stream, int64_t *dts, int64_t *wall)
 

Variables

static const AVOption options []
 
static const AVClass pulse_muxer_class
 
AVOutputFormat ff_pulse_muxer
 

Macro Definition Documentation

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

Definition at line 137 of file pulse_audio_enc.c.

Definition at line 138 of file pulse_audio_enc.c.

Function Documentation

static av_cold int pulse_write_header ( AVFormatContext h)
static

Definition at line 40 of file pulse_audio_enc.c.

static av_cold int pulse_write_trailer ( AVFormatContext h)
static

Definition at line 86 of file pulse_audio_enc.c.

static int pulse_write_packet ( AVFormatContext h,
AVPacket pkt 
)
static

Definition at line 95 of file pulse_audio_enc.c.

static void pulse_get_output_timestamp ( AVFormatContext h,
int  stream,
int64_t *  dts,
int64_t *  wall 
)
static

Definition at line 129 of file pulse_audio_enc.c.

Variable Documentation

const AVOption options[]
static
Initial value:
= {
{ "server", "set PulseAudio server", OFFSET(server), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E },
{ "name", "set application name", OFFSET(name), AV_OPT_TYPE_STRING, {.str = LIBAVFORMAT_IDENT}, 0, 0, E },
{ "stream_name", "set stream description", OFFSET(stream_name), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E },
{ "device", "set device name", OFFSET(device), AV_OPT_TYPE_STRING, {.str = NULL}, 0, 0, E },
{ NULL }
}
const char * name
Definition: avisynth_c.h:675
#define E
#define LIBAVFORMAT_IDENT
Definition: version.h:44
#define OFFSET(a)

Definition at line 140 of file pulse_audio_enc.c.

const AVClass pulse_muxer_class
static
Initial value:
= {
.class_name = "Pulse muxer",
.item_name = av_default_item_name,
.option = options,
}
#define LIBAVUTIL_VERSION_INT
Definition: avcodec.h:820
const char * av_default_item_name(void *ctx)
Return the context name.
Definition: log.c:145
const OptionDef options[]
Definition: ffserver.c:4682

Definition at line 148 of file pulse_audio_enc.c.

AVOutputFormat ff_pulse_muxer
Initial value:
= {
.name = "pulse",
.long_name = NULL_IF_CONFIG_SMALL("Pulse audio output"),
.priv_data_size = sizeof(PulseData),
.video_codec = AV_CODEC_ID_NONE,
.write_header = pulse_write_header,
.write_packet = pulse_write_packet,
.write_trailer = pulse_write_trailer,
.get_output_timestamp = pulse_get_output_timestamp,
.priv_class = &pulse_muxer_class,
}
static int pulse_write_packet(AVFormatContext *h, AVPacket *pkt)
static const AVClass pulse_muxer_class
static av_cold int pulse_write_trailer(AVFormatContext *h)
#define AVFMT_NOFILE
Demuxer will use avio_open, no opened file should be provided by the caller.
Definition: avformat.h:347
#define AVFMT_ALLOW_FLUSH
Format allows flushing.
Definition: avformat.h:363
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:151
#define AV_NE(be, le)
Definition: avcodec.h:908
static av_cold int pulse_write_header(AVFormatContext *h)
static void pulse_get_output_timestamp(AVFormatContext *h, int stream, int64_t *dts, int64_t *wall)

Definition at line 155 of file pulse_audio_enc.c.