Signed-off-by: Michael Niedermayer <michaelni@gmx.at>tags/n2.0
@@ -147,7 +147,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamplesref) | |||||
(void *)insamplesref->extended_data, n); | (void *)insamplesref->extended_data, n); | ||||
av_frame_copy_props(outsamplesref, insamplesref); | av_frame_copy_props(outsamplesref, insamplesref); | ||||
outsamplesref->channels = outlink->channels; | |||||
av_frame_set_channels(outsamplesref, outlink->channels); | |||||
outsamplesref->channel_layout = outlink->channel_layout; | outsamplesref->channel_layout = outlink->channel_layout; | ||||
ret = ff_filter_frame(outlink, outsamplesref); | ret = ff_filter_frame(outlink, outsamplesref); | ||||
@@ -256,7 +256,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf) | |||||
if ((!afade->type && (cur_sample + nb_samples < afade->start_sample)) || | if ((!afade->type && (cur_sample + nb_samples < afade->start_sample)) || | ||||
( afade->type && (afade->start_sample + afade->nb_samples < cur_sample))) { | ( afade->type && (afade->start_sample + afade->nb_samples < cur_sample))) { | ||||
av_samples_set_silence(out_buf->extended_data, 0, nb_samples, | av_samples_set_silence(out_buf->extended_data, 0, nb_samples, | ||||
out_buf->channels, out_buf->format); | |||||
av_frame_get_channels(out_buf), out_buf->format); | |||||
} else { | } else { | ||||
int64_t start; | int64_t start; | ||||
@@ -266,7 +266,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf) | |||||
start = afade->start_sample + afade->nb_samples - cur_sample; | start = afade->start_sample + afade->nb_samples - cur_sample; | ||||
afade->fade_samples(out_buf->extended_data, buf->extended_data, | afade->fade_samples(out_buf->extended_data, buf->extended_data, | ||||
nb_samples, buf->channels, | |||||
nb_samples, av_frame_get_channels(buf), | |||||
afade->type ? -1 : 1, start, | afade->type ? -1 : 1, start, | ||||
afade->nb_samples, afade->curve); | afade->nb_samples, afade->curve); | ||||
} | } | ||||
@@ -263,7 +263,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) | |||||
outbuf->nb_samples = nb_samples; | outbuf->nb_samples = nb_samples; | ||||
outbuf->channel_layout = outlink->channel_layout; | outbuf->channel_layout = outlink->channel_layout; | ||||
outbuf->channels = outlink->channels; | |||||
av_frame_set_channels(outbuf, outlink->channels); | |||||
while (nb_samples) { | while (nb_samples) { | ||||
ns = nb_samples; | ns = nb_samples; | ||||
@@ -122,7 +122,7 @@ static int request_frame(AVFilterLink *outlink) | |||||
av_samples_set_silence(outsamplesref->extended_data, 0, | av_samples_set_silence(outsamplesref->extended_data, 0, | ||||
n_out, | n_out, | ||||
outsamplesref->channels, | |||||
av_frame_get_channels(outsamplesref), | |||||
outsamplesref->format); | outsamplesref->format); | ||||
outsamplesref->pts = apad->next_pts; | outsamplesref->pts = apad->next_pts; | ||||
@@ -188,7 +188,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamplesref) | |||||
av_frame_copy_props(outsamplesref, insamplesref); | av_frame_copy_props(outsamplesref, insamplesref); | ||||
outsamplesref->format = outlink->format; | outsamplesref->format = outlink->format; | ||||
outsamplesref->channels = outlink->channels; | |||||
av_frame_set_channels(outsamplesref, outlink->channels); | |||||
outsamplesref->channel_layout = outlink->channel_layout; | outsamplesref->channel_layout = outlink->channel_layout; | ||||
outsamplesref->sample_rate = outlink->sample_rate; | outsamplesref->sample_rate = outlink->sample_rate; | ||||
@@ -409,7 +409,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *buf) | |||||
out_buf->pts = buf->pts; | out_buf->pts = buf->pts; | ||||
} | } | ||||
for (ch = 0; ch < buf->channels; ch++) | |||||
for (ch = 0; ch < av_frame_get_channels(buf); ch++) | |||||
p->filter(buf->extended_data[ch], | p->filter(buf->extended_data[ch], | ||||
out_buf->extended_data[ch], nb_samples, | out_buf->extended_data[ch], nb_samples, | ||||
&p->cache[ch].i1, &p->cache[ch].i2, | &p->cache[ch].i1, &p->cache[ch].i2, | ||||
@@ -364,7 +364,7 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *insamples) | |||||
swr_convert(pan->swr, outsamples->data, n, (void *)insamples->data, n); | swr_convert(pan->swr, outsamples->data, n, (void *)insamples->data, n); | ||||
av_frame_copy_props(outsamples, insamples); | av_frame_copy_props(outsamples, insamples); | ||||
outsamples->channel_layout = outlink->channel_layout; | outsamples->channel_layout = outlink->channel_layout; | ||||
outsamples->channels = outlink->channels; | |||||
av_frame_set_channels(outsamples, outlink->channels); | |||||
ret = ff_filter_frame(outlink, outsamples); | ret = ff_filter_frame(outlink, outsamples); | ||||
av_frame_free(&insamples); | av_frame_free(&insamples); | ||||