lavfi/sink_buffer: switch to filter_frame.
This commit is contained in:
		
							parent
							
								
									a978c04e22
								
							
						
					
					
						commit
						c36302a7a4
					
				| @ -117,16 +117,14 @@ static int add_buffer_ref(AVFilterContext *ctx, AVFilterBufferRef *ref) | |||||||
|     return 0; |     return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int end_frame(AVFilterLink *inlink) | static int filter_frame(AVFilterLink *inlink, AVFilterBufferRef *ref) | ||||||
| { | { | ||||||
|     AVFilterContext *ctx = inlink->dst; |     AVFilterContext *ctx = inlink->dst; | ||||||
|     BufferSinkContext *buf = inlink->dst->priv; |     BufferSinkContext *buf = inlink->dst->priv; | ||||||
|     int ret; |     int ret; | ||||||
| 
 | 
 | ||||||
|     av_assert1(inlink->cur_buf); |     if ((ret = add_buffer_ref(ctx, ref)) < 0) | ||||||
|     if ((ret = add_buffer_ref(ctx, inlink->cur_buf)) < 0) |  | ||||||
|         return ret; |         return ret; | ||||||
|     inlink->cur_buf = NULL; |  | ||||||
|     if (buf->warning_limit && |     if (buf->warning_limit && | ||||||
|         av_fifo_size(buf->fifo) / sizeof(AVFilterBufferRef *) >= buf->warning_limit) { |         av_fifo_size(buf->fifo) / sizeof(AVFilterBufferRef *) >= buf->warning_limit) { | ||||||
|         av_log(ctx, AV_LOG_WARNING, |         av_log(ctx, AV_LOG_WARNING, | ||||||
| @ -238,7 +236,7 @@ static const AVFilterPad ffbuffersink_inputs[] = { | |||||||
|     { |     { | ||||||
|         .name      = "default", |         .name      = "default", | ||||||
|         .type      = AVMEDIA_TYPE_VIDEO, |         .type      = AVMEDIA_TYPE_VIDEO, | ||||||
|         .end_frame = end_frame, |         .filter_frame = filter_frame, | ||||||
|         .min_perms = AV_PERM_READ | AV_PERM_PRESERVE, |         .min_perms = AV_PERM_READ | AV_PERM_PRESERVE, | ||||||
|     }, |     }, | ||||||
|     { NULL }, |     { NULL }, | ||||||
| @ -260,7 +258,7 @@ static const AVFilterPad buffersink_inputs[] = { | |||||||
|     { |     { | ||||||
|         .name      = "default", |         .name      = "default", | ||||||
|         .type      = AVMEDIA_TYPE_VIDEO, |         .type      = AVMEDIA_TYPE_VIDEO, | ||||||
|         .end_frame = end_frame, |         .filter_frame = filter_frame, | ||||||
|         .min_perms = AV_PERM_READ | AV_PERM_PRESERVE, |         .min_perms = AV_PERM_READ | AV_PERM_PRESERVE, | ||||||
|     }, |     }, | ||||||
|     { NULL }, |     { NULL }, | ||||||
| @ -278,12 +276,6 @@ AVFilter avfilter_vsink_buffersink = { | |||||||
|     .outputs       = NULL, |     .outputs       = NULL, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static int filter_frame(AVFilterLink *link, AVFilterBufferRef *samplesref) |  | ||||||
| { |  | ||||||
|     end_frame(link); |  | ||||||
|     return 0; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static av_cold int asink_init(AVFilterContext *ctx, const char *args, void *opaque) | static av_cold int asink_init(AVFilterContext *ctx, const char *args, void *opaque) | ||||||
| { | { | ||||||
|     BufferSinkContext *buf = ctx->priv; |     BufferSinkContext *buf = ctx->priv; | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user