diff options
-rw-r--r-- | libavformat/avformat.h | 2 | ||||
-rw-r--r-- | libavformat/utils.c | 13 |
2 files changed, 8 insertions, 7 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h index 4a46a36..b08f758 100644 --- a/libavformat/avformat.h +++ b/libavformat/avformat.h @@ -672,7 +672,7 @@ typedef struct AVFormatContext { void *priv_data; ByteIOContext *pb; unsigned int nb_streams; -#if LIBAVFORMAT_VERSION_MAJOR < 53 +#if FF_API_MAX_STREAMS AVStream *streams[MAX_STREAMS]; #else AVStream **streams; diff --git a/libavformat/utils.c b/libavformat/utils.c index 73f89a0..1b58b34 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2543,7 +2543,13 @@ AVStream *av_new_stream(AVFormatContext *s, int id) { AVStream *st; int i; -#if LIBAVFORMAT_VERSION_MAJOR >= 53 + +#if FF_API_MAX_STREAMS + if (s->nb_streams >= MAX_STREAMS){ + av_log(s, AV_LOG_ERROR, "Too many streams\n"); + return NULL; + } +#else AVStream **streams; if (s->nb_streams >= INT_MAX/sizeof(*streams)) @@ -2552,11 +2558,6 @@ AVStream *av_new_stream(AVFormatContext *s, int id) if (!streams) return NULL; s->streams = streams; -#else - if (s->nb_streams >= MAX_STREAMS){ - av_log(s, AV_LOG_ERROR, "Too many streams\n"); - return NULL; - } #endif st = av_mallocz(sizeof(AVStream)); |