Go to the documentation of this file.
60 int buffersrc_empty = 0;
96 s->warning_limit = 100;
116 "%d buffers queued in %s, something may be wrong.\n",
129 return ctx->inputs[0]->time_base;
135 return ctx->inputs[0]->par;
142 .p.priv_class = &sink_class,
#define AV_LOG_WARNING
Something somehow does not look correct.
const AVBitStreamFilterPad ff_default_bsf_pad[1]
static const av_always_inline FFBitStreamFilter * ff_bsf(const AVBitStreamFilter *bsf)
Filter the word “frame” indicates either a video frame or a group of audio as stored in an AVFrame structure Format for each input and each output the list of supported formats For video that means pixel format For audio that means channel sample they are references to shared objects When the negotiation mechanism computes the intersection of the formats supported at each end of a all references to both lists are replaced with a reference to the intersection And when a single format is eventually chosen for a link amongst the remaining all references to the list are updated That means that if a filter requires that its input and output have the same format amongst a supported all it has to do is use a reference to the same list of formats query_formats can leave some formats unset and return AVERROR(EAGAIN) to cause the negotiation mechanism toagain later. That can be used by filters with complex requirements to use the format negotiated on one link to set the formats supported on another. Frame references ownership and permissions
int ff_bsf_inlink_acknowledge_status(AVBitStreamFilterLink *link, int *rstatus, int64_t *rpts)
This struct describes the properties of an encoded stream.
The exact code depends on how similar the blocks are and how related they are to the and needs to apply these operations to the correct inlink or outlink if there are several Macros are available to factor that when no extra processing is inlink
const AVCodecParameters * av_bsf_sink_get_parameters(const AVBitStreamFilterContext *ctx)
int ff_bsf_inlink_consume_packet(AVBitStreamFilterLink *link, AVPacket **rpkt)
int ff_bsf_graph_run_once(AVBitStreamFilterGraph *graph)
Run one round of processing on a filter graph.
#define FFERROR_SOURCE_EMPTY
void ff_bsf_inlink_request_packet(AVBitStreamFilterLink *link)
void av_packet_free(AVPacket **pkt)
Free the packet, if the packet is reference counted, it will be unreferenced first.
int packet_wanted_out
True if a packet is currently wanted on the output of this filter.
AVContainerFifo * fifo
Queue of packets waiting to be filtered.
static int init(AVBitStreamFilterContext *ctx)
@ AV_BSF_SINK_FLAG_NO_REQUEST
Tell av_bsf_sink_get_packet() not to request a packet from its input.
int(* activate)(AVBitStreamFilterContext *ctx)
Filter activation function.
#define BSFILTER_INPUTS(array)
#define av_assert0(cond)
assert() equivalent, that is always enabled.
static AVFormatContext * ctx
AVRational av_bsf_sink_get_time_base(const AVBitStreamFilterContext *ctx)
Describe the class of an AVClass context structure.
Rational number (pair of numerator and denominator).
int av_packet_ref(AVPacket *dst, const AVPacket *src)
Setup a new reference to the data described by a given packet.
void av_packet_move_ref(AVPacket *dst, AVPacket *src)
Move every field in src to dst and reset src.
AVBitStreamFilter p
The public AVBitStreamFilter.
#define attribute_align_arg
static void uninit(AVBitStreamFilterContext *ctx)
static BitStreamFilterLinkInternal * ff_link_internal(AVBitStreamFilterLink *link)
BSF_DEFINE_CLASS_EXT(sink, "sink", NULL)
static int return_or_keep_packet(BufferSinkContext *buf, AVPacket *out, AVPacket *in, int flags)
int attribute_align_arg av_bsf_sink_get_packet(AVBitStreamFilterContext *ctx, AVPacket *pkt, int flags)
Get a packet with filtered data from sink and put it in packet.
const FFBitStreamFilter ff_sink_bsf
size_t av_container_fifo_can_read(const AVContainerFifo *cf)
Link properties exposed to filter code, but not external callers.
@ AV_BSF_SINK_FLAG_PEEK
Tell av_buffersink_get_buffer_ref() to read video/samples buffer reference, but not remove it from th...
static int activate(AVBitStreamFilterContext *ctx)
This structure stores compressed data.
char * name
Name of this format context, only used for logging purposes.
void * priv_data
Format private data.
static void * av_x_if_null(const void *p, const void *x)
Return x default pointer in case p is NULL.