#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 | 
Definition in file fifo.c.
| static int add_to_queue | ( | AVFilterLink * | inlink, | |
| AVFilterBufferRef * | buf | |||
| ) |  [static] | 
| 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] | 
Definition at line 140 of file fifo.c.
Referenced by ff_audio_data_alloc(), ff_audio_data_init(), ff_audio_data_realloc(), ff_audio_data_set_channels(), and return_audio_frame().
| static int draw_slice | ( | AVFilterLink * | inlink, | |
| int | y, | |||
| int | h, | |||
| int | slice_dir | |||
| ) |  [static] | 
| static int end_frame | ( | AVFilterLink * | inlink | ) |  [static] | 
| static av_cold int init | ( | AVFilterContext * | ctx, | |
| const char * | args | |||
| ) |  [static] | 
| static void queue_pop | ( | FifoContext * | s | ) |  [static] | 
| static int request_frame | ( | AVFilterLink * | outlink | ) |  [static] | 
| static int return_audio_frame | ( | AVFilterContext * | ctx | ) |  [static] | 
| static av_cold void uninit | ( | AVFilterContext * | ctx | ) |  [static] | 
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}},
}
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}},
}
 1.5.8
 1.5.8