You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-15 14:13:16 +02:00
apedec: convert to new channel layout API
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com> Signed-off-by: Anton Khirnov <anton@khirnov.net> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
committed by
James Almer
parent
76313d314e
commit
9e6ec2d7d5
@@ -233,13 +233,14 @@ static av_cold int ape_decode_close(AVCodecContext *avctx)
|
|||||||
static av_cold int ape_decode_init(AVCodecContext *avctx)
|
static av_cold int ape_decode_init(AVCodecContext *avctx)
|
||||||
{
|
{
|
||||||
APEContext *s = avctx->priv_data;
|
APEContext *s = avctx->priv_data;
|
||||||
|
int channels = avctx->ch_layout.nb_channels;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
if (avctx->extradata_size != 6) {
|
if (avctx->extradata_size != 6) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "Incorrect extradata\n");
|
av_log(avctx, AV_LOG_ERROR, "Incorrect extradata\n");
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
if (avctx->channels > 2) {
|
if (channels > 2) {
|
||||||
av_log(avctx, AV_LOG_ERROR, "Only mono and stereo is supported\n");
|
av_log(avctx, AV_LOG_ERROR, "Only mono and stereo is supported\n");
|
||||||
return AVERROR(EINVAL);
|
return AVERROR(EINVAL);
|
||||||
}
|
}
|
||||||
@@ -261,7 +262,7 @@ static av_cold int ape_decode_init(AVCodecContext *avctx)
|
|||||||
return AVERROR_PATCHWELCOME;
|
return AVERROR_PATCHWELCOME;
|
||||||
}
|
}
|
||||||
s->avctx = avctx;
|
s->avctx = avctx;
|
||||||
s->channels = avctx->channels;
|
s->channels = channels;
|
||||||
s->fileversion = AV_RL16(avctx->extradata);
|
s->fileversion = AV_RL16(avctx->extradata);
|
||||||
s->compression_level = AV_RL16(avctx->extradata + 2);
|
s->compression_level = AV_RL16(avctx->extradata + 2);
|
||||||
s->flags = AV_RL16(avctx->extradata + 4);
|
s->flags = AV_RL16(avctx->extradata + 4);
|
||||||
@@ -313,7 +314,9 @@ static av_cold int ape_decode_init(AVCodecContext *avctx)
|
|||||||
|
|
||||||
ff_bswapdsp_init(&s->bdsp);
|
ff_bswapdsp_init(&s->bdsp);
|
||||||
ff_llauddsp_init(&s->adsp);
|
ff_llauddsp_init(&s->adsp);
|
||||||
avctx->channel_layout = (avctx->channels==2) ? AV_CH_LAYOUT_STEREO : AV_CH_LAYOUT_MONO;
|
av_channel_layout_uninit(&avctx->ch_layout);
|
||||||
|
avctx->ch_layout = (channels == 2) ? (AVChannelLayout)AV_CHANNEL_LAYOUT_STEREO
|
||||||
|
: (AVChannelLayout)AV_CHANNEL_LAYOUT_MONO;
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user