libcelt: convert to new channel layout API

Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
Anton Khirnov 2019-06-04 17:23:37 +02:00 committed by James Almer
parent dd544b5ef0
commit 89dc056b01
1 changed files with 5 additions and 5 deletions

View File

@ -61,13 +61,13 @@ static av_cold int libcelt_dec_init(AVCodecContext *c)
struct libcelt_context *celt = c->priv_data;
int err;
if (!c->channels || !c->frame_size ||
c->frame_size > INT_MAX / sizeof(int16_t) / c->channels)
if (!c->ch_layout.nb_channels || !c->frame_size ||
c->frame_size > INT_MAX / sizeof(int16_t) / c->ch_layout.nb_channels)
return AVERROR(EINVAL);
celt->mode = celt_mode_create(c->sample_rate, c->frame_size, &err);
if (!celt->mode)
return ff_celt_error_to_averror(err);
celt->dec = celt_decoder_create_custom(celt->mode, c->channels, &err);
celt->dec = celt_decoder_create_custom(celt->mode, c->ch_layout.nb_channels, &err);
if (!celt->dec) {
celt_mode_destroy(celt->mode);
return ff_celt_error_to_averror(err);
@ -119,8 +119,8 @@ static int libcelt_dec_decode(AVCodecContext *c, void *data,
return ff_celt_error_to_averror(err);
if (celt->discard) {
frame->nb_samples -= celt->discard;
memmove(pcm, pcm + celt->discard * c->channels,
frame->nb_samples * c->channels * sizeof(int16_t));
memmove(pcm, pcm + celt->discard * c->ch_layout.nb_channels,
frame->nb_samples * c->ch_layout.nb_channels * sizeof(int16_t));
celt->discard = 0;
}
*got_frame_ptr = 1;