Message ID | tencent_069E53099C71CB9C260F508426E427FBEA06@qq.com |
---|---|
State | Accepted |
Commit | 38aca1dc9af24787b7ff246ddb1541ae4f03d192 |
Headers | show |
Series | [FFmpeg-devel,1/2] fftools/ffplay: fix missing hw_frames_ctx when config avfilter | expand |
Context | Check | Description |
---|---|---|
yinshiyou/make_loongarch64 | success | Make finished |
yinshiyou/make_fate_loongarch64 | success | Make fate finished |
andriy/make_x86 | success | Make finished |
andriy/make_fate_x86 | success | Make fate finished |
On Tue, 09 Jan 2024 23:41:00 +0800 Zhao Zhili <quinkblack@foxmail.com> wrote: > From: Zhao Zhili <zhilizhao@tencent.com> > > --- > fftools/ffplay.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > 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; > } > > -- > 2.25.1 LGTM.
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; }
From: Zhao Zhili <zhilizhao@tencent.com> --- fftools/ffplay.c | 9 +++++++++ 1 file changed, 9 insertions(+)