diff --git a/libavformat/mpegts.c b/libavformat/mpegts.c index e3bdc6b658..01845ed2f6 100644 --- a/libavformat/mpegts.c +++ b/libavformat/mpegts.c @@ -356,7 +356,7 @@ static void mpegts_close_filter(MpegTSContext *ts, MpegTSFilter *filter) } static int analyze(const uint8_t *buf, int size, int packet_size, int *index){ - int stat[packet_size]; + int stat[TS_MAX_PACKET_SIZE]; int i; int x=0; int best_score=0; diff --git a/libavformat/mpegts.h b/libavformat/mpegts.h index e5df071255..7c4e73cde2 100644 --- a/libavformat/mpegts.h +++ b/libavformat/mpegts.h @@ -27,6 +27,8 @@ #define TS_FEC_PACKET_SIZE 204 #define TS_DVHS_PACKET_SIZE 192 #define TS_PACKET_SIZE 188 +#define TS_MAX_PACKET_SIZE 204 + #define NB_PID_MAX 8192 #define MAX_SECTION_SIZE 4096