mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-04-14 00:58:38 +02:00
lavfi/buffersrc: add av_buffersrc_close().
This commit is contained in:
parent
36c111c40f
commit
5ba2aef6ec
@ -15,6 +15,9 @@ libavutil: 2015-08-28
|
|||||||
|
|
||||||
API changes, most recent first:
|
API changes, most recent first:
|
||||||
|
|
||||||
|
2017-09-08 - xxxxxxx - lavfi 6.103.100 - buffersrc.h
|
||||||
|
Add av_buffersrc_close().
|
||||||
|
|
||||||
2017-09-04 - xxxxxxx - lavc 57.105.100 - avcodec.h
|
2017-09-04 - xxxxxxx - lavc 57.105.100 - avcodec.h
|
||||||
Add AV_HWACCEL_CODEC_CAP_EXPERIMENTAL, replacing the deprecated
|
Add AV_HWACCEL_CODEC_CAP_EXPERIMENTAL, replacing the deprecated
|
||||||
HWACCEL_CODEC_CAP_EXPERIMENTAL flag.
|
HWACCEL_CODEC_CAP_EXPERIMENTAL flag.
|
||||||
|
@ -196,16 +196,9 @@ static int av_buffersrc_add_frame_internal(AVFilterContext *ctx,
|
|||||||
|
|
||||||
s->nb_failed_requests = 0;
|
s->nb_failed_requests = 0;
|
||||||
|
|
||||||
if (!frame) {
|
if (!frame)
|
||||||
s->eof = 1;
|
return av_buffersrc_close(ctx, AV_NOPTS_VALUE, flags);
|
||||||
ff_avfilter_link_set_in_status(ctx->outputs[0], AVERROR_EOF, AV_NOPTS_VALUE);
|
if (s->eof)
|
||||||
if ((flags & AV_BUFFERSRC_FLAG_PUSH)) {
|
|
||||||
ret = push_frame(ctx->graph);
|
|
||||||
if (ret < 0)
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
} else if (s->eof)
|
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
|
|
||||||
refcounted = !!frame->buf[0];
|
refcounted = !!frame->buf[0];
|
||||||
@ -267,6 +260,15 @@ static int av_buffersrc_add_frame_internal(AVFilterContext *ctx,
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int av_buffersrc_close(AVFilterContext *ctx, int64_t pts, unsigned flags)
|
||||||
|
{
|
||||||
|
BufferSourceContext *s = ctx->priv;
|
||||||
|
|
||||||
|
s->eof = 1;
|
||||||
|
ff_avfilter_link_set_in_status(ctx->outputs[0], AVERROR_EOF, pts);
|
||||||
|
return (flags & AV_BUFFERSRC_FLAG_PUSH) ? push_frame(ctx->graph) : 0;
|
||||||
|
}
|
||||||
|
|
||||||
static av_cold int init_video(AVFilterContext *ctx)
|
static av_cold int init_video(AVFilterContext *ctx)
|
||||||
{
|
{
|
||||||
BufferSourceContext *c = ctx->priv;
|
BufferSourceContext *c = ctx->priv;
|
||||||
|
@ -193,6 +193,14 @@ av_warn_unused_result
|
|||||||
int av_buffersrc_add_frame_flags(AVFilterContext *buffer_src,
|
int av_buffersrc_add_frame_flags(AVFilterContext *buffer_src,
|
||||||
AVFrame *frame, int flags);
|
AVFrame *frame, int flags);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Close the buffer source after EOF.
|
||||||
|
*
|
||||||
|
* This is similar to passing NULL to av_buffersrc_add_frame_flags()
|
||||||
|
* except it takes the timestamp of the EOF, i.e. the timestamp of the end
|
||||||
|
* of the last frame.
|
||||||
|
*/
|
||||||
|
int av_buffersrc_close(AVFilterContext *ctx, int64_t pts, unsigned flags);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @}
|
* @}
|
||||||
|
@ -30,7 +30,7 @@
|
|||||||
#include "libavutil/version.h"
|
#include "libavutil/version.h"
|
||||||
|
|
||||||
#define LIBAVFILTER_VERSION_MAJOR 6
|
#define LIBAVFILTER_VERSION_MAJOR 6
|
||||||
#define LIBAVFILTER_VERSION_MINOR 102
|
#define LIBAVFILTER_VERSION_MINOR 103
|
||||||
#define LIBAVFILTER_VERSION_MICRO 100
|
#define LIBAVFILTER_VERSION_MICRO 100
|
||||||
|
|
||||||
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
#define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user