FFmpeg
Data Structures | Macros | Functions | Variables
source.c File Reference
#include <float.h>
#include "libavutil/container_fifo.h"
#include "libavutil/opt.h"
#include "libavcodec/bsf.h"
#include "libavcodec/bsf_internal.h"
#include "libavcodec/packet.h"
#include "libavcodec/packet_internal.h"

Go to the source code of this file.

Data Structures

struct  SourceContext
 

Macros

#define OFFSET(x)   offsetof(SourceContext, x)
 
#define FLAGS   (AV_OPT_FLAG_BSF_PARAM|AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_VIDEO_PARAM)
 

Functions

int av_bsf_source_parameters_set (AVBitStreamFilterContext *ctx, const AVCodecParameters *par)
 Initialize the source filter with the provided parameters. More...
 
static int push_packet (AVBitStreamFilterGraph *graph)
 
int attribute_align_arg av_bsf_source_add_packet (AVBitStreamFilterContext *ctx, AVPacket *pkt, int flags)
 Add a packet to the buffer source. More...
 
int av_bsf_source_close (AVBitStreamFilterContext *ctx, int64_t pts, unsigned flags)
 Close the source after EOF. More...
 
int av_bsf_source_get_status (AVBitStreamFilterContext *ctx)
 Returns 0 or a negative AVERROR code. More...
 
static av_cold int preinit (AVBitStreamFilterContext *ctx)
 
static av_cold int init (AVBitStreamFilterContext *ctx)
 
unsigned ff_bsf_source_get_nb_failed_requests (const AVBitStreamFilterContext *buffer_src)
 Get the number of failed requests. More...
 
 BSF_DEFINE_CLASS (buffer)
 
static av_cold void uninit (AVBitStreamFilterContext *ctx)
 
static int config_props (AVBitStreamFilterLink *link)
 
static int activate (AVBitStreamFilterContext *ctx)
 

Variables

static const AVOption buffer_options []
 
static const AVBitStreamFilterPad source_outputs []
 
const FFBitStreamFilter ff_source_bsf
 

Detailed Description

Packet source. Heavily based on libavfilter/buffersrc.c

Definition in file source.c.

Macro Definition Documentation

◆ OFFSET

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

Definition at line 166 of file source.c.

◆ FLAGS

Definition at line 167 of file source.c.

Function Documentation

◆ push_packet()

static int push_packet ( AVBitStreamFilterGraph graph)
static

Definition at line 53 of file source.c.

Referenced by av_bsf_source_add_packet().

◆ preinit()

static av_cold int preinit ( AVBitStreamFilterContext ctx)
static

Definition at line 137 of file source.c.

◆ init()

static av_cold int init ( AVBitStreamFilterContext ctx)
static

Definition at line 148 of file source.c.

◆ ff_bsf_source_get_nb_failed_requests()

unsigned ff_bsf_source_get_nb_failed_requests ( const AVBitStreamFilterContext src)

Get the number of failed requests.

A failed request is when the request_packet method is called while no packet is present in the buffer. The number is reset when a packet is added.

Definition at line 161 of file source.c.

Referenced by av_bsf_graph_source_needs_input().

◆ BSF_DEFINE_CLASS()

BSF_DEFINE_CLASS ( buffer  )

◆ uninit()

static av_cold void uninit ( AVBitStreamFilterContext ctx)
static

Definition at line 175 of file source.c.

◆ config_props()

static int config_props ( AVBitStreamFilterLink link)
static

Definition at line 181 of file source.c.

◆ activate()

static int activate ( AVBitStreamFilterContext ctx)
static

Definition at line 189 of file source.c.

Variable Documentation

◆ buffer_options

const AVOption buffer_options[]
static
Initial value:
= {
{ "time_base", NULL, OFFSET(time_base), AV_OPT_TYPE_RATIONAL, { .dbl = 0 }, 0, DBL_MAX, FLAGS },
{ NULL },
}

Definition at line 168 of file source.c.

◆ source_outputs

const AVBitStreamFilterPad source_outputs[]
static
Initial value:
= {
{
.name = "default",
.config_props = config_props,
},
}

Definition at line 207 of file source.c.

◆ ff_source_bsf

const FFBitStreamFilter ff_source_bsf
Initial value:
= {
.p.name = "source",
.p.priv_class = &buffer_class,
.priv_data_size = sizeof(SourceContext),
.init2 = init,
}

Definition at line 214 of file source.c.

preinit
static av_cold int preinit(AVBitStreamFilterContext *ctx)
Definition: source.c:137
AV_OPT_TYPE_RATIONAL
@ AV_OPT_TYPE_RATIONAL
Underlying C type is AVRational.
Definition: opt.h:279
init
static av_cold int init(AVBitStreamFilterContext *ctx)
Definition: source.c:148
source_outputs
static const AVBitStreamFilterPad source_outputs[]
Definition: source.c:207
NULL
#define NULL
Definition: coverity.c:32
activate
static int activate(AVBitStreamFilterContext *ctx)
Definition: source.c:189
FLAGS
#define FLAGS
Definition: source.c:167
BSFILTER_OUTPUTS
#define BSFILTER_OUTPUTS(array)
Definition: filters.h:146
uninit
static av_cold void uninit(AVBitStreamFilterContext *ctx)
Definition: source.c:175
OFFSET
#define OFFSET(x)
Definition: source.c:166
config_props
static int config_props(AVBitStreamFilterLink *link)
Definition: source.c:181
SourceContext
Definition: source.c:34