diff --git a/libavcodec/alac.c b/libavcodec/alac.c index 9cd17374a8..5653e9aff5 100644 --- a/libavcodec/alac.c +++ b/libavcodec/alac.c @@ -621,6 +621,7 @@ static av_cold int alac_decode_init(AVCodecContext * avctx) alac->sample_size); return AVERROR_PATCHWELCOME; } + avctx->bits_per_raw_sample = alac->sample_size; if (alac->channels < 1) { av_log(avctx, AV_LOG_WARNING, "Invalid channel count\n"); diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index 3936d5e1c0..8ee08148b5 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -2249,7 +2249,13 @@ typedef struct AVCodecContext { /* The following data should not be initialized. */ /** - * Samples per packet, initialized when calling 'init'. + * Number of samples per channel in an audio frame. + * + * - encoding: set by libavcodec in avcodec_open2(). Each submitted frame + * except the last must contain exactly frame_size samples per channel. + * May be 0 when the codec has CODEC_CAP_VARIABLE_FRAME_SIZE set, then the + * frame size is not restricted. + * - decoding: may be set by some decoders to indicate constant frame size */ int frame_size;