mirror of
				https://github.com/nyanmisaka/ffmpeg-rockchip.git
				synced 2025-10-31 04:26:37 +08:00 
			
		
		
		
	lavfi/af_volumedetect: print stats in uninit().
If the stats are printed when request_frame on the input returns EOF, then they are never printed if the filter is not flushed, in particular when using the -t ffmpeg option. Fix trac ticket #1727.
This commit is contained in:
		| @@ -126,13 +126,9 @@ static void print_stats(AVFilterContext *ctx) | ||||
|     } | ||||
| } | ||||
|  | ||||
| static int request_frame(AVFilterLink *outlink) | ||||
| static void uninit(AVFilterContext *ctx) | ||||
| { | ||||
|     AVFilterContext *ctx = outlink->src; | ||||
|     int ret = ff_request_frame(ctx->inputs[0]); | ||||
|     if (ret == AVERROR_EOF) | ||||
|     print_stats(ctx); | ||||
|     return ret; | ||||
| } | ||||
|  | ||||
| AVFilter avfilter_af_volumedetect = { | ||||
| @@ -141,6 +137,7 @@ AVFilter avfilter_af_volumedetect = { | ||||
|  | ||||
|     .priv_size     = sizeof(VolDetectContext), | ||||
|     .query_formats = query_formats, | ||||
|     .uninit        = uninit, | ||||
|  | ||||
|     .inputs    = (const AVFilterPad[]) { | ||||
|         { .name             = "default", | ||||
| @@ -152,8 +149,7 @@ AVFilter avfilter_af_volumedetect = { | ||||
|     }, | ||||
|     .outputs   = (const AVFilterPad[]) { | ||||
|         { .name = "default", | ||||
|           .type = AVMEDIA_TYPE_AUDIO, | ||||
|           .request_frame = request_frame, }, | ||||
|           .type = AVMEDIA_TYPE_AUDIO, }, | ||||
|         { .name = NULL } | ||||
|     }, | ||||
| }; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Nicolas George
					Nicolas George