Unified · Split
| @@ -370,14 +370,6 @@ static av_cold int decode_init(WMAProDecodeCtx *s, AVCodecContext *avctx, int nu · 369 unmodified lines | ||
| 370 | 370 | int log2_max_num_subframes; |
| 371 | 371 | int num_possible_block_sizes; |
| 372 | 372 | |
| 373 | − if (avctx->codec_id == AV_CODEC_ID_XMA1 || avctx->codec_id == AV_CODEC_ID_XMA2) | |
| 374 | − avctx->block_align = 2048; | |
| 375 | − | |
| 376 | − if (!avctx->block_align) { | |
| 377 | − av_log(avctx, AV_LOG_ERROR, "block_align is not set\n"); | |
| 378 | − return AVERROR(EINVAL); | |
| 379 | − } | |
| 380 | − | |
| 381 | 373 | s->avctx = avctx; |
| 382 | 374 | |
| 383 | 375 | init_put_bits(&s->pb, s->frame_data, MAX_FRAMESIZE); |
| @@ -603,6 +595,11 @@ static av_cold int wmapro_decode_init(AVCodecContext *avctx) · 219 unmodified lines | ||
| 603 | 595 | { |
| 604 | 596 | WMAProDecodeCtx *s = avctx->priv_data; |
| 605 | 597 | |
| 598 | + if (!avctx->block_align) { | |
| 599 | + av_log(avctx, AV_LOG_ERROR, "block_align is not set\n"); | |
| 600 | + return AVERROR(EINVAL); | |
| 601 | + } | |
| 602 | + | |
| 606 | 603 | return decode_init(s, avctx, 0); |
| 607 | 604 | } |
| 608 | 605 | |
| @@ -1957,6 +1954,8 @@ static av_cold int xma_decode_init(AVCodecContext *avctx) · 1348 unmodified lines | ||
| 1957 | 1954 | XMADecodeCtx *s = avctx->priv_data; |
| 1958 | 1955 | int i, ret, start_channels = 0; |
| 1959 | 1956 | |
| 1957 | + avctx->block_align = 2048; | |
| 1958 | + | |
| 1960 | 1959 | if (avctx->ch_layout.nb_channels <= 0 || avctx->extradata_size == 0) |
| 1961 | 1960 | return AVERROR_INVALIDDATA; |
| 1962 | 1961 | |