diff --git a/libavcodec/mlp.h b/libavcodec/mlp.h index a434cd1a229935d5442d7e1ca647c854edd153ff..bbb09e0b5a00f113aece80ec8ef95e164cadea0d 100644 --- a/libavcodec/mlp.h +++ b/libavcodec/mlp.h @@ -56,6 +56,9 @@ */ #define MAX_FILTER_ORDER 8 +/** Code that signals end of a stream. */ +#define END_OF_STREAM 0xd234d234 + #define FIR 0 #define IIR 1 diff --git a/libavcodec/mlpdec.c b/libavcodec/mlpdec.c index 421abdece1312d421c8710bb60b12de10e2e512a..7272458085eb333cf9ad90d938200b16abb83b76 100644 --- a/libavcodec/mlpdec.c +++ b/libavcodec/mlpdec.c @@ -990,7 +990,7 @@ static int read_access_unit(AVCodecContext *avctx, void* data, int *data_size, skip_bits(&gb, (-get_bits_count(&gb)) & 15); if (substream_data_len[substr] * 8 - get_bits_count(&gb) >= 32 && - (show_bits_long(&gb, 32) == 0xd234d234 || + (show_bits_long(&gb, 32) == END_OF_STREAM || show_bits_long(&gb, 20) == 0xd234e)) { skip_bits(&gb, 18); if (substr == m->max_decoded_substream)