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:
		
							parent
							
								
									ce028ab9a7
								
							
						
					
					
						commit
						48ec8b25a7
					
				| @ -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 } | ||||
|     }, | ||||
| }; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user