mirror of https://git.ffmpeg.org/ffmpeg.git
libcelt: convert to new channel layout API
Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
dd544b5ef0
commit
89dc056b01
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue