diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index 970ca340d73a5bbba2c103793b5cb039f700f6c6..1bd2c49c10c088b34174944282e89242681a686b 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1379,21 +1379,6 @@ void avformat_close_input(AVFormatContext **s);
  * @}
  */
 
-#if FF_API_NEW_STREAM
-/**
- * Add a new stream to a media file.
- *
- * Can only be called in the read_header() function. If the flag
- * AVFMTCTX_NOHEADER is in the format context, then new streams
- * can be added in read_packet too.
- *
- * @param s media file handle
- * @param id file-format-dependent stream ID
- */
-attribute_deprecated
-AVStream *av_new_stream(AVFormatContext *s, int id);
-#endif
-
 #if FF_API_SET_PTS_INFO
 /**
  * @deprecated this function is not supposed to be called outside of lavf
diff --git a/libavformat/utils.c b/libavformat/utils.c
index d241200d81ac8715b133cee476a9bf7c7dbaae04..24e0e8f6d75d8848fe1ad7b16d5783255b5833e3 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2630,16 +2630,6 @@ void avformat_close_input(AVFormatContext **ps)
         avio_close(pb);
 }
 
-#if FF_API_NEW_STREAM
-AVStream *av_new_stream(AVFormatContext *s, int id)
-{
-    AVStream *st = avformat_new_stream(s, NULL);
-    if (st)
-        st->id = id;
-    return st;
-}
-#endif
-
 AVStream *avformat_new_stream(AVFormatContext *s, AVCodec *c)
 {
     AVStream *st;
diff --git a/libavformat/version.h b/libavformat/version.h
index 0e1be85cbb768a1b6dd434bb8a27e5be0271b48c..a54a075624d622b0b6dcfe0e45e3c71fad35444f 100644
--- a/libavformat/version.h
+++ b/libavformat/version.h
@@ -47,9 +47,6 @@
  * Those FF_API_* defines are not part of public API.
  * They may change, break or disappear at any time.
  */
-#ifndef FF_API_NEW_STREAM
-#define FF_API_NEW_STREAM              (LIBAVFORMAT_VERSION_MAJOR < 54)
-#endif
 #ifndef FF_API_PRELOAD
 #define FF_API_PRELOAD                 (LIBAVFORMAT_VERSION_MAJOR < 54)
 #endif