Unified · Split
| @@ -61,12 +61,15 @@ static int activate(AVFilterContext *ctx) · 60 unmodified lines | |||
| 61 | 61 | ||
| 62 | FF_FILTER_FORWARD_STATUS_BACK(outlink, inlink); | 62 | FF_FILTER_FORWARD_STATUS_BACK(outlink, inlink); |
| 63 | 63 | ||
| 64 | ret = ff_inlink_consume_samples(inlink, s->nb_out_samples, s->nb_out_samples, &frame); | 64 | if (ctx->is_disabled) |
| 65 | ret = ff_inlink_consume_frame(inlink, &frame); | ||
| 66 | else | ||
| 67 | ret = ff_inlink_consume_samples(inlink, s->nb_out_samples, s->nb_out_samples, &frame); | ||
| 65 | if (ret < 0) | 68 | if (ret < 0) |
| 66 | return ret; | 69 | return ret; |
| 67 | 70 | ||
| 68 | if (ret > 0) { | 71 | if (ret > 0) { |
| 69 | if (!s->pad || frame->nb_samples == s->nb_out_samples) | 72 | if (!s->pad || ctx->is_disabled || frame->nb_samples == s->nb_out_samples) |
| 70 | return ff_filter_frame(outlink, frame); | 73 | return ff_filter_frame(outlink, frame); |
| 71 | 74 | ||
| 72 | pad_frame = ff_get_audio_buffer(outlink, s->nb_out_samples); | 75 | pad_frame = ff_get_audio_buffer(outlink, s->nb_out_samples); |
| @@ -123,5 +126,6 @@ const AVFilter ff_af_asetnsamples = { · 50 unmodified lines | |||
| 123 | FILTER_INPUTS(asetnsamples_inputs), | 126 | FILTER_INPUTS(asetnsamples_inputs), |
| 124 | FILTER_OUTPUTS(asetnsamples_outputs), | 127 | FILTER_OUTPUTS(asetnsamples_outputs), |
| 125 | .activate = activate, | 128 | .activate = activate, |
| 129 | .flags = AVFILTER_FLAG_SUPPORT_TIMELINE_INTERNAL, | ||
| 126 | .process_command = ff_filter_process_command, | 130 | .process_command = ff_filter_process_command, |
| 127 | }; | 131 | }; |