|
|
|
@ -48,13 +48,12 @@ static av_cold void uninit(AVFilterContext *ctx) |
|
|
|
|
av_audio_fifo_free(sink->audio_fifo); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static int start_frame(AVFilterLink *link, AVFilterBufferRef *buf) |
|
|
|
|
static int filter_frame(AVFilterLink *link, AVFilterBufferRef *buf) |
|
|
|
|
{ |
|
|
|
|
BufferSinkContext *s = link->dst->priv; |
|
|
|
|
|
|
|
|
|
// av_assert0(!s->cur_buf);
|
|
|
|
|
s->cur_buf = buf; |
|
|
|
|
link->cur_buf = NULL; |
|
|
|
|
|
|
|
|
|
return 0; |
|
|
|
|
} |
|
|
|
@ -144,7 +143,7 @@ static const AVFilterPad avfilter_vsink_buffer_inputs[] = { |
|
|
|
|
{ |
|
|
|
|
.name = "default", |
|
|
|
|
.type = AVMEDIA_TYPE_VIDEO, |
|
|
|
|
.start_frame = start_frame, |
|
|
|
|
.filter_frame = filter_frame, |
|
|
|
|
.min_perms = AV_PERM_READ, |
|
|
|
|
.needs_fifo = 1 |
|
|
|
|
}, |
|
|
|
@ -169,7 +168,7 @@ static const AVFilterPad avfilter_asink_abuffer_inputs[] = { |
|
|
|
|
{ |
|
|
|
|
.name = "default", |
|
|
|
|
.type = AVMEDIA_TYPE_AUDIO, |
|
|
|
|
.filter_frame = start_frame, |
|
|
|
|
.filter_frame = filter_frame, |
|
|
|
|
.min_perms = AV_PERM_READ, |
|
|
|
|
.needs_fifo = 1 |
|
|
|
|
}, |
|
|
|
|