[FFmpeg-devel] [PATCH v1 1/6] fftools/ffmpeg: use local variable with same contents directly

lance.lmwang at gmail.com lance.lmwang at gmail.com
Wed May 6 02:30:43 EEST 2020


On Sun, Apr 26, 2020 at 05:49:17PM +0800, lance.lmwang at gmail.com wrote:
> From: Limin Wang <lance.lmwang at gmail.com>
> 
> Signed-off-by: Limin Wang <lance.lmwang at gmail.com>
> ---
>  fftools/ffmpeg.c | 31 ++++++++++++++++++-------------
>  1 file changed, 18 insertions(+), 13 deletions(-)
> 
> diff --git a/fftools/ffmpeg.c b/fftools/ffmpeg.c
> index d896b14..d2b0e71 100644
> --- a/fftools/ffmpeg.c
> +++ b/fftools/ffmpeg.c
> @@ -501,32 +501,37 @@ static void ffmpeg_cleanup(int ret)
>          FilterGraph *fg = filtergraphs[i];
>          avfilter_graph_free(&fg->graph);
>          for (j = 0; j < fg->nb_inputs; j++) {
> -            while (av_fifo_size(fg->inputs[j]->frame_queue)) {
> +            InputFilter *ifilter = fg->inputs[j];
> +            struct InputStream *ist = ifilter->ist;
> +
> +            while (av_fifo_size(ifilter->frame_queue)) {
>                  AVFrame *frame;
> -                av_fifo_generic_read(fg->inputs[j]->frame_queue, &frame,
> +                av_fifo_generic_read(ifilter->frame_queue, &frame,
>                                       sizeof(frame), NULL);
>                  av_frame_free(&frame);
>              }
> -            av_fifo_freep(&fg->inputs[j]->frame_queue);
> -            if (fg->inputs[j]->ist->sub2video.sub_queue) {
> -                while (av_fifo_size(fg->inputs[j]->ist->sub2video.sub_queue)) {
> +            av_fifo_freep(&ifilter->frame_queue);
> +            if (ist->sub2video.sub_queue) {
> +                while (av_fifo_size(ist->sub2video.sub_queue)) {
>                      AVSubtitle sub;
> -                    av_fifo_generic_read(fg->inputs[j]->ist->sub2video.sub_queue,
> +                    av_fifo_generic_read(ist->sub2video.sub_queue,
>                                           &sub, sizeof(sub), NULL);
>                      avsubtitle_free(&sub);
>                  }
> -                av_fifo_freep(&fg->inputs[j]->ist->sub2video.sub_queue);
> +                av_fifo_freep(&ist->sub2video.sub_queue);
>              }
> -            av_buffer_unref(&fg->inputs[j]->hw_frames_ctx);
> -            av_freep(&fg->inputs[j]->name);
> +            av_buffer_unref(&ifilter->hw_frames_ctx);
> +            av_freep(&ifilter->name);
>              av_freep(&fg->inputs[j]);
>          }
>          av_freep(&fg->inputs);
>          for (j = 0; j < fg->nb_outputs; j++) {
> -            av_freep(&fg->outputs[j]->name);
> -            av_freep(&fg->outputs[j]->formats);
> -            av_freep(&fg->outputs[j]->channel_layouts);
> -            av_freep(&fg->outputs[j]->sample_rates);
> +            OutputFilter *ofilter = fg->outputs[j];
> +
> +            av_freep(&ofilter->name);
> +            av_freep(&ofilter->formats);
> +            av_freep(&ofilter->channel_layouts);
> +            av_freep(&ofilter->sample_rates);
>              av_freep(&fg->outputs[j]);
>          }
>          av_freep(&fg->outputs);
> -- 
> 1.8.3.1
> 

will apply patchset #1,#5,#6 tomorrow if no comments.

-- 
Thanks,
Limin Wang


More information about the ffmpeg-devel mailing list