diff options
author | Zhao Zhili <zhilizhao@tencent.com> | 2024-01-09 23:41:00 +0800 |
---|---|---|
committer | Zhao Zhili <zhilizhao@tencent.com> | 2024-01-12 10:49:46 +0800 |
commit | 38aca1dc9af24787b7ff246ddb1541ae4f03d192 (patch) | |
tree | 513cb60851982e6ddcda537dd282245b1e304977 | |
parent | bba5a563c8ebfd7d332c8bee8511f06d399e6b7a (diff) | |
download | ffmpeg-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.c | 9 |
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; } |