jack_audio.c File Reference
#include "config.h"
#include <semaphore.h>
#include <jack/jack.h>
#include "libavutil/log.h"
#include "libavutil/fifo.h"
#include "libavutil/opt.h"
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libavformat/internal.h"
#include "timefilter.h"

Go to the source code of this file.

Data Structures

struct  JackData

Macros

#define FIFO_PACKETS_NUM   16
 Size of the internal FIFO buffers as a number of audio packets.
#define OFFSET(x)   offsetof(JackData, x)

Functions

static int process_callback (jack_nframes_t nframes, void *arg)
static void shutdown_callback (void *arg)
static int xrun_callback (void *arg)
static int supply_new_packets (JackData *self, AVFormatContext *context)
static int start_jack (AVFormatContext *context)
static void free_pkt_fifo (AVFifoBuffer *fifo)
static void stop_jack (JackData *self)
static int audio_read_header (AVFormatContext *context, AVFormatParameters *params)
static int audio_read_packet (AVFormatContext *context, AVPacket *pkt)
static int audio_read_close (AVFormatContext *context)

Variables

static const AVOption options []
static const AVClass jack_indev_class
AVInputFormat ff_jack_demuxer

Macro Definition Documentation

#define FIFO_PACKETS_NUM   16

Size of the internal FIFO buffers as a number of audio packets.

Definition at line 38 of file jack_audio.c.

Referenced by start_jack().

#define OFFSET (   x)    offsetof(JackData, x)

Definition at line 316 of file jack_audio.c.

Function Documentation

static int audio_read_close ( AVFormatContext context)
static

Definition at line 309 of file jack_audio.c.

static int audio_read_header ( AVFormatContext context,
AVFormatParameters params 
)
static

Definition at line 224 of file jack_audio.c.

static int audio_read_packet ( AVFormatContext context,
AVPacket pkt 
)
static

Definition at line 252 of file jack_audio.c.

static void free_pkt_fifo ( AVFifoBuffer fifo)
static

Definition at line 200 of file jack_audio.c.

Referenced by stop_jack().

static int process_callback ( jack_nframes_t  nframes,
void arg 
)
static

Definition at line 56 of file jack_audio.c.

Referenced by start_jack().

static void shutdown_callback ( void arg)
static

Definition at line 110 of file jack_audio.c.

Referenced by start_jack().

static int start_jack ( AVFormatContext context)
static

bandwidth: 1.5Hz

Definition at line 142 of file jack_audio.c.

Referenced by audio_read_header().

static void stop_jack ( JackData self)
static

Definition at line 210 of file jack_audio.c.

Referenced by audio_read_close(), and audio_read_header().

static int supply_new_packets ( JackData self,
AVFormatContext context 
)
static

Definition at line 124 of file jack_audio.c.

Referenced by audio_read_packet(), and start_jack().

static int xrun_callback ( void arg)
static

Definition at line 116 of file jack_audio.c.

Referenced by start_jack().

Variable Documentation

AVInputFormat ff_jack_demuxer
Initial value:
{
.name = "jack",
.long_name = NULL_IF_CONFIG_SMALL("JACK Audio Connection Kit"),
.priv_data_size = sizeof(JackData),
.priv_class = &jack_indev_class,
}

Definition at line 329 of file jack_audio.c.

const AVClass jack_indev_class
static
Initial value:
{
.class_name = "JACK indev",
.item_name = av_default_item_name,
.option = options,
}

Definition at line 322 of file jack_audio.c.

const AVOption options[]
static
Initial value:
{
{ "channels", "Number of audio channels.", OFFSET(nports), AV_OPT_TYPE_INT, { 2 }, 1, INT_MAX, AV_OPT_FLAG_DECODING_PARAM },
{ NULL },
}

Definition at line 317 of file jack_audio.c.