aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZhao Zhili <zhilizhao@tencent.com>2024-01-09 23:41:00 +0800
committerZhao Zhili <zhilizhao@tencent.com>2024-01-12 10:49:46 +0800
commit38aca1dc9af24787b7ff246ddb1541ae4f03d192 (patch)
tree513cb60851982e6ddcda537dd282245b1e304977
parentbba5a563c8ebfd7d332c8bee8511f06d399e6b7a (diff)
downloadffmpeg-38aca1dc9af24787b7ff246ddb1541ae4f03d192.tar.gz
fftools/ffplay: fix missing hw_frames_ctx when config avfilter
Signed-off-by: Zhao Zhili <zhilizhao@tencent.com>
-rw-r--r--fftools/ffplay.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/fftools/ffplay.c b/fftools/ffplay.c
index 17861e60be..3c378bca2c 100644
--- a/fftools/ffplay.c
+++ b/fftools/ffplay.c
@@ -1858,6 +1858,10 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
const AVDictionaryEntry *e = NULL;
int nb_pix_fmts = 0;
int i, j;
+ AVBufferSrcParameters *par = av_buffersrc_parameters_alloc();
+
+ if (!par)
+ return AVERROR(ENOMEM);
for (i = 0; i < renderer_info.num_texture_formats; i++) {
for (j = 0; j < FF_ARRAY_ELEMS(sdl_texture_format_map) - 1; j++) {
@@ -1893,6 +1897,10 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
"ffplay_buffer", buffersrc_args, NULL,
graph)) < 0)
goto fail;
+ par->hw_frames_ctx = frame->hw_frames_ctx;
+ ret = av_buffersrc_parameters_set(filt_src, par);
+ if (ret < 0)
+ goto fail;
ret = avfilter_graph_create_filter(&filt_out,
avfilter_get_by_name("buffersink"),
@@ -1959,6 +1967,7 @@ static int configure_video_filters(AVFilterGraph *graph, VideoState *is, const c
is->out_video_filter = filt_out;
fail:
+ av_freep(&par);
return ret;
}