diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index a9abfbd4c2..3358e2df1f 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1752,14 +1752,14 @@ int avformat_network_deinit(void);
  * if f is non-NULL, returns the next registered input format after f
  * or NULL if f is the last one.
  */
-AVInputFormat  *av_iformat_next(AVInputFormat  *f);
+AVInputFormat  *av_iformat_next(const AVInputFormat  *f);
 
 /**
  * If f is NULL, returns the first registered output format,
  * if f is non-NULL, returns the next registered output format after f
  * or NULL if f is the last one.
  */
-AVOutputFormat *av_oformat_next(AVOutputFormat *f);
+AVOutputFormat *av_oformat_next(const AVOutputFormat *f);
 
 /**
  * Allocate an AVFormatContext.
diff --git a/libavformat/avio.c b/libavformat/avio.c
index 0a2a0a9aab..d71cfe8a62 100644
--- a/libavformat/avio.c
+++ b/libavformat/avio.c
@@ -32,7 +32,7 @@
 
 static URLProtocol *first_protocol = NULL;
 
-URLProtocol *ffurl_protocol_next(URLProtocol *prev)
+URLProtocol *ffurl_protocol_next(const URLProtocol *prev)
 {
     return prev ? prev->next : first_protocol;
 }
diff --git a/libavformat/format.c b/libavformat/format.c
index 95060f373d..5545d07979 100644
--- a/libavformat/format.c
+++ b/libavformat/format.c
@@ -36,7 +36,7 @@ static AVOutputFormat *first_oformat = NULL;
 static AVInputFormat **last_iformat = &first_iformat;
 static AVOutputFormat **last_oformat = &first_oformat;
 
-AVInputFormat *av_iformat_next(AVInputFormat *f)
+AVInputFormat *av_iformat_next(const AVInputFormat *f)
 {
     if (f)
         return f->next;
@@ -44,7 +44,7 @@ AVInputFormat *av_iformat_next(AVInputFormat *f)
         return first_iformat;
 }
 
-AVOutputFormat *av_oformat_next(AVOutputFormat *f)
+AVOutputFormat *av_oformat_next(const AVOutputFormat *f)
 {
     if (f)
         return f->next;
diff --git a/libavformat/url.h b/libavformat/url.h
index 712ea0f5b4..c4d16429bf 100644
--- a/libavformat/url.h
+++ b/libavformat/url.h
@@ -240,7 +240,7 @@ int ff_check_interrupt(AVIOInterruptCB *cb);
  *
  * @param prev result of the previous call to this functions or NULL.
  */
-URLProtocol *ffurl_protocol_next(URLProtocol *prev);
+URLProtocol *ffurl_protocol_next(const URLProtocol *prev);
 
 /* udp.c */
 int ff_udp_set_remote_url(URLContext *h, const char *uri);