avfilter: avoid direct access to AVFrame.channels
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
64308941d4
commit
cd5f50a255
@ -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);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user