libavfilter/fifo.c File Reference

FIFO buffering filter. More...

#include "libavutil/avassert.h"
#include "libavutil/audioconvert.h"
#include "libavutil/common.h"
#include "libavutil/mathematics.h"
#include "libavutil/samplefmt.h"
#include "audio.h"
#include "avfilter.h"
#include "internal.h"
#include "video.h"

Go to the source code of this file.

Data Structures

struct  Buf
struct  FifoContext

Functions

static av_cold int init (AVFilterContext *ctx, const char *args)
static av_cold void uninit (AVFilterContext *ctx)
static int add_to_queue (AVFilterLink *inlink, AVFilterBufferRef *buf)
static void queue_pop (FifoContext *s)
static int end_frame (AVFilterLink *inlink)
static int draw_slice (AVFilterLink *inlink, int y, int h, int slice_dir)
static void buffer_offset (AVFilterLink *link, AVFilterBufferRef *buf, int offset)
 Move data pointers and pts offset samples forward.
static int calc_ptr_alignment (AVFilterBufferRef *buf)
static int return_audio_frame (AVFilterContext *ctx)
static int request_frame (AVFilterLink *outlink)

Variables

AVFilter avfilter_vf_fifo
AVFilter avfilter_af_afifo


Detailed Description

FIFO buffering filter.

Definition in file fifo.c.


Function Documentation

static int add_to_queue ( AVFilterLink inlink,
AVFilterBufferRef buf 
) [static]

Definition at line 76 of file fifo.c.

static void buffer_offset ( AVFilterLink link,
AVFilterBufferRef buf,
int  offset 
) [static]

Move data pointers and pts offset samples forward.

Definition at line 115 of file fifo.c.

Referenced by return_audio_frame().

static int calc_ptr_alignment ( AVFilterBufferRef buf  )  [static]

static int draw_slice ( AVFilterLink inlink,
int  y,
int  h,
int  slice_dir 
) [static]

Definition at line 107 of file fifo.c.

static int end_frame ( AVFilterLink inlink  )  [static]

Definition at line 102 of file fifo.c.

static av_cold int init ( AVFilterContext ctx,
const char *  args 
) [static]

Definition at line 54 of file fifo.c.

static void queue_pop ( FifoContext s  )  [static]

Definition at line 93 of file fifo.c.

Referenced by request_frame(), and return_audio_frame().

static int request_frame ( AVFilterLink outlink  )  [static]

Definition at line 234 of file fifo.c.

static int return_audio_frame ( AVFilterContext ctx  )  [static]

Definition at line 157 of file fifo.c.

Referenced by request_frame().

static av_cold void uninit ( AVFilterContext ctx  )  [static]

Definition at line 62 of file fifo.c.


Variable Documentation

Initial value:

 {
    .name        = "afifo",
    .description = NULL_IF_CONFIG_SMALL("Buffer input frames and send them when they are requested."),

    .init      = init,
    .uninit    = uninit,

    .priv_size = sizeof(FifoContext),

    .inputs    = (const AVFilterPad[]) {{ .name             = "default",
                                          .type             = AVMEDIA_TYPE_AUDIO,
                                          .get_audio_buffer = ff_null_get_audio_buffer,
                                          .filter_samples   = add_to_queue,
                                          .min_perms        = AV_PERM_PRESERVE, },
                                        { .name = NULL}},
    .outputs   = (const AVFilterPad[]) {{ .name             = "default",
                                          .type             = AVMEDIA_TYPE_AUDIO,
                                          .request_frame    = request_frame, },
                                        { .name = NULL}},
}

Definition at line 293 of file fifo.c.

Initial value:

 {
    .name      = "fifo",
    .description = NULL_IF_CONFIG_SMALL("Buffer input images and send them when they are requested."),

    .init      = init,
    .uninit    = uninit,

    .priv_size = sizeof(FifoContext),

    .inputs    = (const AVFilterPad[]) {{ .name            = "default",
                                          .type            = AVMEDIA_TYPE_VIDEO,
                                          .get_video_buffer= ff_null_get_video_buffer,
                                          .start_frame     = add_to_queue,
                                          .draw_slice      = draw_slice,
                                          .end_frame       = end_frame,
                                          .min_perms       = AV_PERM_PRESERVE, },
                                        { .name = NULL}},
    .outputs   = (const AVFilterPad[]) {{ .name            = "default",
                                          .type            = AVMEDIA_TYPE_VIDEO,
                                          .request_frame   = request_frame, },
                                        { .name = NULL}},
}

Definition at line 270 of file fifo.c.


Generated on Fri Oct 26 02:50:09 2012 for FFmpeg by  doxygen 1.5.8