|
|
|
@@ -106,6 +106,7 @@ |
|
|
|
|
|
|
|
#define WMAPRO_BLOCK_MIN_BITS 6 ///< log2 of min block size |
|
|
|
#define WMAPRO_BLOCK_MAX_BITS 13 ///< log2 of max block size |
|
|
|
#define WMAPRO_BLOCK_MIN_SIZE (1 << WMAPRO_BLOCK_MIN_BITS) ///< minimum block size |
|
|
|
#define WMAPRO_BLOCK_MAX_SIZE (1 << WMAPRO_BLOCK_MAX_BITS) ///< maximum block size |
|
|
|
#define WMAPRO_BLOCK_SIZES (WMAPRO_BLOCK_MAX_BITS - WMAPRO_BLOCK_MIN_BITS + 1) ///< possible block sizes |
|
|
|
|
|
|
|
@@ -336,6 +337,12 @@ static av_cold int decode_init(AVCodecContext *avctx) |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
} |
|
|
|
|
|
|
|
if (s->min_samples_per_subframe < WMAPRO_BLOCK_MIN_SIZE) { |
|
|
|
av_log(avctx, AV_LOG_ERROR, "Invalid minimum block size %i\n", |
|
|
|
s->max_num_subframes); |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
} |
|
|
|
|
|
|
|
if (s->avctx->sample_rate <= 0) { |
|
|
|
av_log(avctx, AV_LOG_ERROR, "invalid sample rate\n"); |
|
|
|
return AVERROR_INVALIDDATA; |
|
|
|
|