nb_samples);
if (!buf)
return AVERROR(ENOMEM);
- ret = avresample_convert(s->avr, (void**)buf->extended_data,
+ ret = avresample_convert(s->avr, buf->extended_data,
buf->linesize[0], nb_samples, NULL, 0, 0);
if (ret <= 0) {
avfilter_unref_bufferp(&buf);
static int write_to_fifo(ASyncContext *s, AVFilterBufferRef *buf)
{
- int ret = avresample_convert(s->avr, NULL, 0, 0, (void**)buf->extended_data,
+ int ret = avresample_convert(s->avr, NULL, 0, 0, buf->extended_data,
buf->linesize[0], buf->audio->nb_samples);
avfilter_unref_buffer(buf);
return ret;
goto fail;
}
- avresample_read(s->avr, (void**)buf_out->extended_data, out_size);
+ avresample_read(s->avr, buf_out->extended_data, out_size);
buf_out->pts = s->pts;
if (delta > 0) {
avresample_read(s->avr, NULL, avresample_available(s->avr));
s->pts = pts - avresample_get_delay(s->avr);
- ret = avresample_convert(s->avr, NULL, 0, 0, (void**)buf->extended_data,
+ ret = avresample_convert(s->avr, NULL, 0, 0, buf->extended_data,
buf->linesize[0], buf->audio->nb_samples);
fail:
return ret;
}
+static const AVFilterPad avfilter_af_asyncts_inputs[] = {
+ {
+ .name = "default",
+ .type = AVMEDIA_TYPE_AUDIO,
+ .filter_samples = filter_samples
+ },
+ { NULL }
+};
+
+static const AVFilterPad avfilter_af_asyncts_outputs[] = {
+ {
+ .name = "default",
+ .type = AVMEDIA_TYPE_AUDIO,
+ .config_props = config_props,
+ .request_frame = request_frame
+ },
+ { NULL }
+};
+
AVFilter avfilter_af_asyncts = {
.name = "asyncts",
.description = NULL_IF_CONFIG_SMALL("Sync audio data to timestamps"),
.priv_size = sizeof(ASyncContext),
- .inputs = (const AVFilterPad[]) {{ .name = "default",
- .type = AVMEDIA_TYPE_AUDIO,
- .filter_samples = filter_samples },
- { NULL }},
- .outputs = (const AVFilterPad[]) {{ .name = "default",
- .type = AVMEDIA_TYPE_AUDIO,
- .config_props = config_props,
- .request_frame = request_frame },
- { NULL }},
+ .inputs = avfilter_af_asyncts_inputs,
+ .outputs = avfilter_af_asyncts_outputs,
.priv_class = &asyncts_class,
};