[FFmpeg-devel] lavf/rtpdec*: Constify all RTPDynamicProtocolHandler

Submitted by Carl Eugen Hoyos on Feb. 12, 2018, 9:22 p.m.

Details

Message ID CAB0OVGo0Chgct9ERUGtX2wxwPymEFjo9sg_BcZSAjMqmTGSB=Q@mail.gmail.com
State New
Headers show

Commit Message

Carl Eugen Hoyos Feb. 12, 2018, 9:22 p.m.
Hi!

Attached patch marks the RTPDynamicProtocolHandler as const.

Please comment, Carl Eugen

Comments

Muhammad Faiz Feb. 14, 2018, midnight
On Tue, Feb 13, 2018 at 4:22 AM, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
> Hi!
>
> Attached patch marks the RTPDynamicProtocolHandler as const.
>
> Please comment, Carl Eugen
>
> From e219322aa7396db6ecb6ab02fd5b42b42271f27f Mon Sep 17 00:00:00 2001
> From: Carl Eugen Hoyos <ceffmpeg@gmail.com>
> Date: Mon, 12 Feb 2018 22:21:06 +0100
> Subject: [PATCH] lavf/rtpdec*: Constify all RTPDynamicProtocolHandler.


> +const extern RTPDynamicProtocolHandler ff_theora_dynamic_handler;
> +const extern RTPDynamicProtocolHandler ff_vc2hq_dynamic_handler;
> +const extern RTPDynamicProtocolHandler ff_vorbis_dynamic_handler;
> +const extern RTPDynamicProtocolHandler ff_vp8_dynamic_handler;
> +const extern RTPDynamicProtocolHandler ff_vp9_dynamic_handler;

Cosmetics: probably extern const?

Rest LGTM.

Thank's.
Carl Eugen Hoyos Feb. 14, 2018, 12:15 a.m.
2018-02-14 1:00 GMT+01:00 Muhammad Faiz <mfcc64@gmail.com>:
> On Tue, Feb 13, 2018 at 4:22 AM, Carl Eugen Hoyos <ceffmpeg@gmail.com> wrote:
>> Hi!
>>
>> Attached patch marks the RTPDynamicProtocolHandler as const.
>>
>> Please comment, Carl Eugen
>>
>> From e219322aa7396db6ecb6ab02fd5b42b42271f27f Mon Sep 17 00:00:00 2001
>> From: Carl Eugen Hoyos <ceffmpeg@gmail.com>
>> Date: Mon, 12 Feb 2018 22:21:06 +0100
>> Subject: [PATCH] lavf/rtpdec*: Constify all RTPDynamicProtocolHandler.
>
>
>> +const extern RTPDynamicProtocolHandler ff_theora_dynamic_handler;
>> +const extern RTPDynamicProtocolHandler ff_vc2hq_dynamic_handler;
>> +const extern RTPDynamicProtocolHandler ff_vorbis_dynamic_handler;
>> +const extern RTPDynamicProtocolHandler ff_vp8_dynamic_handler;
>> +const extern RTPDynamicProtocolHandler ff_vp9_dynamic_handler;
>
> Cosmetics: probably extern const?
>
> Rest LGTM.

Applied with "extern const".

Thank you, Carl Eugen

Patch hide | download patch | download mbox

From e219322aa7396db6ecb6ab02fd5b42b42271f27f Mon Sep 17 00:00:00 2001
From: Carl Eugen Hoyos <ceffmpeg@gmail.com>
Date: Mon, 12 Feb 2018 22:21:06 +0100
Subject: [PATCH] lavf/rtpdec*: Constify all RTPDynamicProtocolHandler.

---
 libavformat/rtpdec_ac3.c          |    2 +-
 libavformat/rtpdec_amr.c          |    4 +-
 libavformat/rtpdec_asf.c          |    2 +-
 libavformat/rtpdec_dv.c           |    2 +-
 libavformat/rtpdec_formats.h      |   84 ++++++++++++++++++-------------------
 libavformat/rtpdec_g726.c         |    4 +-
 libavformat/rtpdec_h261.c         |    2 +-
 libavformat/rtpdec_h263.c         |    4 +-
 libavformat/rtpdec_h263_rfc2190.c |    2 +-
 libavformat/rtpdec_h264.c         |    2 +-
 libavformat/rtpdec_hevc.c         |    2 +-
 libavformat/rtpdec_ilbc.c         |    2 +-
 libavformat/rtpdec_jpeg.c         |    2 +-
 libavformat/rtpdec_latm.c         |    2 +-
 libavformat/rtpdec_mpa_robust.c   |    2 +-
 libavformat/rtpdec_mpeg12.c       |    4 +-
 libavformat/rtpdec_mpeg4.c        |    4 +-
 libavformat/rtpdec_mpegts.c       |    2 +-
 libavformat/rtpdec_qcelp.c        |    2 +-
 libavformat/rtpdec_qdm2.c         |    2 +-
 libavformat/rtpdec_rfc4175.c      |    2 +-
 libavformat/rtpdec_svq3.c         |    2 +-
 libavformat/rtpdec_vc2hq.c        |    2 +-
 libavformat/rtpdec_vp8.c          |    2 +-
 libavformat/rtpdec_vp9.c          |    2 +-
 libavformat/rtpdec_xiph.c         |    4 +-
 26 files changed, 73 insertions(+), 73 deletions(-)

diff --git a/libavformat/rtpdec_ac3.c b/libavformat/rtpdec_ac3.c
index 48b2d9c..56a379f 100644
--- a/libavformat/rtpdec_ac3.c
+++ b/libavformat/rtpdec_ac3.c
@@ -122,7 +122,7 @@  static int ac3_handle_packet(AVFormatContext *ctx, PayloadContext *data,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_ac3_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_ac3_dynamic_handler = {
     .enc_name           = "ac3",
     .codec_type         = AVMEDIA_TYPE_AUDIO,
     .codec_id           = AV_CODEC_ID_AC3,
diff --git a/libavformat/rtpdec_amr.c b/libavformat/rtpdec_amr.c
index 8687e65..35d3222 100644
--- a/libavformat/rtpdec_amr.c
+++ b/libavformat/rtpdec_amr.c
@@ -182,7 +182,7 @@  static int amr_parse_sdp_line(AVFormatContext *s, int st_index,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_amr_nb_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_amr_nb_dynamic_handler = {
     .enc_name         = "AMR",
     .codec_type       = AVMEDIA_TYPE_AUDIO,
     .codec_id         = AV_CODEC_ID_AMR_NB,
@@ -192,7 +192,7 @@  RTPDynamicProtocolHandler ff_amr_nb_dynamic_handler = {
     .parse_packet     = amr_handle_packet,
 };
 
-RTPDynamicProtocolHandler ff_amr_wb_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_amr_wb_dynamic_handler = {
     .enc_name         = "AMR-WB",
     .codec_type       = AVMEDIA_TYPE_AUDIO,
     .codec_id         = AV_CODEC_ID_AMR_WB,
diff --git a/libavformat/rtpdec_asf.c b/libavformat/rtpdec_asf.c
index 09f214a..54ffef6 100644
--- a/libavformat/rtpdec_asf.c
+++ b/libavformat/rtpdec_asf.c
@@ -300,7 +300,7 @@  static void asfrtp_close_context(PayloadContext *asf)
 }
 
 #define RTP_ASF_HANDLER(n, s, t) \
-RTPDynamicProtocolHandler ff_ms_rtp_ ## n ## _handler = { \
+const RTPDynamicProtocolHandler ff_ms_rtp_ ## n ## _handler = { \
     .enc_name         = s, \
     .codec_type       = t, \
     .codec_id         = AV_CODEC_ID_NONE, \
diff --git a/libavformat/rtpdec_dv.c b/libavformat/rtpdec_dv.c
index de99d27..53a5855 100644
--- a/libavformat/rtpdec_dv.c
+++ b/libavformat/rtpdec_dv.c
@@ -131,7 +131,7 @@  static int dv_handle_packet(AVFormatContext *ctx, PayloadContext *rtp_dv_ctx,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_dv_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_dv_dynamic_handler = {
     .enc_name         = "DV",
     .codec_type       = AVMEDIA_TYPE_VIDEO,
     .codec_id         = AV_CODEC_ID_DVVIDEO,
diff --git a/libavformat/rtpdec_formats.h b/libavformat/rtpdec_formats.h
index a436c9d..38c3f6f 100644
--- a/libavformat/rtpdec_formats.h
+++ b/libavformat/rtpdec_formats.h
@@ -47,47 +47,47 @@  int ff_h264_handle_frag_packet(AVPacket *pkt, const uint8_t *buf, int len,
                                int nal_header_len);
 void ff_h264_parse_framesize(AVCodecParameters *par, const char *p);
 
-extern RTPDynamicProtocolHandler ff_ac3_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_amr_nb_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_amr_wb_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_dv_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_g726_16_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_g726_24_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_g726_32_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_g726_40_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_g726le_16_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_g726le_24_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_g726le_32_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_g726le_40_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_h261_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_h263_1998_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_h263_2000_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_h263_rfc2190_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_h264_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_hevc_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_ilbc_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_jpeg_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_mp4a_latm_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_mp4v_es_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_mpeg_audio_robust_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_mpeg_video_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_mpeg4_generic_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_mpegts_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_ms_rtp_asf_pfa_handler;
-extern RTPDynamicProtocolHandler ff_ms_rtp_asf_pfv_handler;
-extern RTPDynamicProtocolHandler ff_qcelp_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_qdm2_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_qt_rtp_aud_handler;
-extern RTPDynamicProtocolHandler ff_qt_rtp_vid_handler;
-extern RTPDynamicProtocolHandler ff_quicktime_rtp_aud_handler;
-extern RTPDynamicProtocolHandler ff_quicktime_rtp_vid_handler;
-extern RTPDynamicProtocolHandler ff_rfc4175_rtp_handler;
-extern RTPDynamicProtocolHandler ff_svq3_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_theora_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_vc2hq_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_vorbis_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_vp8_dynamic_handler;
-extern RTPDynamicProtocolHandler ff_vp9_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_ac3_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_amr_nb_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_amr_wb_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_dv_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_g726_16_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_g726_24_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_g726_32_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_g726_40_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_g726le_16_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_g726le_24_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_g726le_32_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_g726le_40_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_h261_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_h263_1998_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_h263_2000_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_h263_rfc2190_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_h264_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_hevc_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_ilbc_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_jpeg_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_mp4a_latm_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_mp4v_es_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_mpeg_audio_robust_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_mpeg_video_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_mpeg4_generic_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_mpegts_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_ms_rtp_asf_pfa_handler;
+const extern RTPDynamicProtocolHandler ff_ms_rtp_asf_pfv_handler;
+const extern RTPDynamicProtocolHandler ff_qcelp_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_qdm2_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_qt_rtp_aud_handler;
+const extern RTPDynamicProtocolHandler ff_qt_rtp_vid_handler;
+const extern RTPDynamicProtocolHandler ff_quicktime_rtp_aud_handler;
+const extern RTPDynamicProtocolHandler ff_quicktime_rtp_vid_handler;
+const extern RTPDynamicProtocolHandler ff_rfc4175_rtp_handler;
+const extern RTPDynamicProtocolHandler ff_svq3_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_theora_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_vc2hq_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_vorbis_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_vp8_dynamic_handler;
+const extern RTPDynamicProtocolHandler ff_vp9_dynamic_handler;
 
 #endif /* AVFORMAT_RTPDEC_FORMATS_H */
diff --git a/libavformat/rtpdec_g726.c b/libavformat/rtpdec_g726.c
index 2de09ac..89afd58 100644
--- a/libavformat/rtpdec_g726.c
+++ b/libavformat/rtpdec_g726.c
@@ -35,13 +35,13 @@  static av_cold int g726_ ## bitrate ##_init(AVFormatContext *s, int st_index, \
     return 0; \
 } \
 \
-RTPDynamicProtocolHandler ff_g726_ ## bitrate ## _dynamic_handler = { \
+const RTPDynamicProtocolHandler ff_g726_ ## bitrate ## _dynamic_handler = { \
     .enc_name   = "AAL2-G726-" #bitrate, \
     .codec_type = AVMEDIA_TYPE_AUDIO, \
     .codec_id   = AV_CODEC_ID_ADPCM_G726, \
     .init       = g726_ ## bitrate ## _init, \
 }; \
-RTPDynamicProtocolHandler ff_g726le_ ## bitrate ## _dynamic_handler = { \
+const RTPDynamicProtocolHandler ff_g726le_ ## bitrate ## _dynamic_handler = { \
     .enc_name   = "G726-" #bitrate, \
     .codec_type = AVMEDIA_TYPE_AUDIO, \
     .codec_id   = AV_CODEC_ID_ADPCM_G726LE, \
diff --git a/libavformat/rtpdec_h261.c b/libavformat/rtpdec_h261.c
index 9729f21..a102909 100644
--- a/libavformat/rtpdec_h261.c
+++ b/libavformat/rtpdec_h261.c
@@ -162,7 +162,7 @@  static int h261_handle_packet(AVFormatContext *ctx, PayloadContext *rtp_h261_ctx
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_h261_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_h261_dynamic_handler = {
     .enc_name          = "H261",
     .codec_type        = AVMEDIA_TYPE_VIDEO,
     .codec_id          = AV_CODEC_ID_H261,
diff --git a/libavformat/rtpdec_h263.c b/libavformat/rtpdec_h263.c
index 97aa4ad..9b71ed7 100644
--- a/libavformat/rtpdec_h263.c
+++ b/libavformat/rtpdec_h263.c
@@ -89,7 +89,7 @@  int ff_h263_handle_packet(AVFormatContext *ctx, PayloadContext *data,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_h263_1998_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_h263_1998_dynamic_handler = {
     .enc_name         = "H263-1998",
     .codec_type       = AVMEDIA_TYPE_VIDEO,
     .codec_id         = AV_CODEC_ID_H263,
@@ -97,7 +97,7 @@  RTPDynamicProtocolHandler ff_h263_1998_dynamic_handler = {
     .parse_packet     = ff_h263_handle_packet,
 };
 
-RTPDynamicProtocolHandler ff_h263_2000_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_h263_2000_dynamic_handler = {
     .enc_name         = "H263-2000",
     .codec_type       = AVMEDIA_TYPE_VIDEO,
     .codec_id         = AV_CODEC_ID_H263,
diff --git a/libavformat/rtpdec_h263_rfc2190.c b/libavformat/rtpdec_h263_rfc2190.c
index 6ba2814..a0f587f 100644
--- a/libavformat/rtpdec_h263_rfc2190.c
+++ b/libavformat/rtpdec_h263_rfc2190.c
@@ -183,7 +183,7 @@  static int h263_handle_packet(AVFormatContext *ctx, PayloadContext *data,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_h263_rfc2190_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_h263_rfc2190_dynamic_handler = {
     .codec_type        = AVMEDIA_TYPE_VIDEO,
     .codec_id          = AV_CODEC_ID_H263,
     .need_parsing      = AVSTREAM_PARSE_FULL,
diff --git a/libavformat/rtpdec_h264.c b/libavformat/rtpdec_h264.c
index 6f8148a..a785120 100644
--- a/libavformat/rtpdec_h264.c
+++ b/libavformat/rtpdec_h264.c
@@ -408,7 +408,7 @@  static int parse_h264_sdp_line(AVFormatContext *s, int st_index,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_h264_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_h264_dynamic_handler = {
     .enc_name         = "H264",
     .codec_type       = AVMEDIA_TYPE_VIDEO,
     .codec_id         = AV_CODEC_ID_H264,
diff --git a/libavformat/rtpdec_hevc.c b/libavformat/rtpdec_hevc.c
index a0e3a7c..5a06b23 100644
--- a/libavformat/rtpdec_hevc.c
+++ b/libavformat/rtpdec_hevc.c
@@ -347,7 +347,7 @@  static int hevc_handle_packet(AVFormatContext *ctx, PayloadContext *rtp_hevc_ctx
     return res;
 }
 
-RTPDynamicProtocolHandler ff_hevc_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_hevc_dynamic_handler = {
     .enc_name         = "H265",
     .codec_type       = AVMEDIA_TYPE_VIDEO,
     .codec_id         = AV_CODEC_ID_HEVC,
diff --git a/libavformat/rtpdec_ilbc.c b/libavformat/rtpdec_ilbc.c
index cb48f76..9094f2c 100644
--- a/libavformat/rtpdec_ilbc.c
+++ b/libavformat/rtpdec_ilbc.c
@@ -66,7 +66,7 @@  static int ilbc_parse_sdp_line(AVFormatContext *s, int st_index,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_ilbc_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_ilbc_dynamic_handler = {
     .enc_name         = "iLBC",
     .codec_type       = AVMEDIA_TYPE_AUDIO,
     .codec_id         = AV_CODEC_ID_ILBC,
diff --git a/libavformat/rtpdec_jpeg.c b/libavformat/rtpdec_jpeg.c
index 465d9bc..931463c 100644
--- a/libavformat/rtpdec_jpeg.c
+++ b/libavformat/rtpdec_jpeg.c
@@ -379,7 +379,7 @@  static int jpeg_parse_packet(AVFormatContext *ctx, PayloadContext *jpeg,
     return AVERROR(EAGAIN);
 }
 
-RTPDynamicProtocolHandler ff_jpeg_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_jpeg_dynamic_handler = {
     .enc_name          = "JPEG",
     .codec_type        = AVMEDIA_TYPE_VIDEO,
     .codec_id          = AV_CODEC_ID_MJPEG,
diff --git a/libavformat/rtpdec_latm.c b/libavformat/rtpdec_latm.c
index a25c07f..9087d6b 100644
--- a/libavformat/rtpdec_latm.c
+++ b/libavformat/rtpdec_latm.c
@@ -162,7 +162,7 @@  static int latm_parse_sdp_line(AVFormatContext *s, int st_index,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_mp4a_latm_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_mp4a_latm_dynamic_handler = {
     .enc_name           = "MP4A-LATM",
     .codec_type         = AVMEDIA_TYPE_AUDIO,
     .codec_id           = AV_CODEC_ID_AAC,
diff --git a/libavformat/rtpdec_mpa_robust.c b/libavformat/rtpdec_mpa_robust.c
index 86c8958..f4716ed 100644
--- a/libavformat/rtpdec_mpa_robust.c
+++ b/libavformat/rtpdec_mpa_robust.c
@@ -189,7 +189,7 @@  static int mpa_robust_parse_packet(AVFormatContext *ctx, PayloadContext *data,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_mpeg_audio_robust_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_mpeg_audio_robust_dynamic_handler = {
     .enc_name          = "mpa-robust",
     .codec_type        = AVMEDIA_TYPE_AUDIO,
     .codec_id          = AV_CODEC_ID_MP3ADU,
diff --git a/libavformat/rtpdec_mpeg12.c b/libavformat/rtpdec_mpeg12.c
index b93de3d..43d9d58 100644
--- a/libavformat/rtpdec_mpeg12.c
+++ b/libavformat/rtpdec_mpeg12.c
@@ -48,7 +48,7 @@  static int mpeg_parse_packet(AVFormatContext *ctx, PayloadContext *data,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler = {
     .codec_type        = AVMEDIA_TYPE_AUDIO,
     .codec_id          = AV_CODEC_ID_MP3,
     .need_parsing      = AVSTREAM_PARSE_FULL,
@@ -56,7 +56,7 @@  RTPDynamicProtocolHandler ff_mpeg_audio_dynamic_handler = {
     .static_payload_id = 14,
 };
 
-RTPDynamicProtocolHandler ff_mpeg_video_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_mpeg_video_dynamic_handler = {
     .codec_type        = AVMEDIA_TYPE_VIDEO,
     .codec_id          = AV_CODEC_ID_MPEG2VIDEO,
     .need_parsing      = AVSTREAM_PARSE_FULL,
diff --git a/libavformat/rtpdec_mpeg4.c b/libavformat/rtpdec_mpeg4.c
index 994ab49..4f70599 100644
--- a/libavformat/rtpdec_mpeg4.c
+++ b/libavformat/rtpdec_mpeg4.c
@@ -325,7 +325,7 @@  static int parse_sdp_line(AVFormatContext *s, int st_index,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_mp4v_es_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_mp4v_es_dynamic_handler = {
     .enc_name           = "MP4V-ES",
     .codec_type         = AVMEDIA_TYPE_VIDEO,
     .codec_id           = AV_CODEC_ID_MPEG4,
@@ -334,7 +334,7 @@  RTPDynamicProtocolHandler ff_mp4v_es_dynamic_handler = {
     .parse_sdp_a_line   = parse_sdp_line,
 };
 
-RTPDynamicProtocolHandler ff_mpeg4_generic_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_mpeg4_generic_dynamic_handler = {
     .enc_name           = "mpeg4-generic",
     .codec_type         = AVMEDIA_TYPE_AUDIO,
     .codec_id           = AV_CODEC_ID_AAC,
diff --git a/libavformat/rtpdec_mpegts.c b/libavformat/rtpdec_mpegts.c
index 5bf0f18..405271f 100644
--- a/libavformat/rtpdec_mpegts.c
+++ b/libavformat/rtpdec_mpegts.c
@@ -89,7 +89,7 @@  static int mpegts_handle_packet(AVFormatContext *ctx, PayloadContext *data,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_mpegts_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_mpegts_dynamic_handler = {
     .codec_type        = AVMEDIA_TYPE_DATA,
     .priv_data_size    = sizeof(PayloadContext),
     .parse_packet      = mpegts_handle_packet,
diff --git a/libavformat/rtpdec_qcelp.c b/libavformat/rtpdec_qcelp.c
index 41cc826..3485c27 100644
--- a/libavformat/rtpdec_qcelp.c
+++ b/libavformat/rtpdec_qcelp.c
@@ -209,7 +209,7 @@  static int qcelp_parse_packet(AVFormatContext *ctx, PayloadContext *data,
         return return_stored_frame(ctx, data, st, pkt, timestamp, buf, len);
 }
 
-RTPDynamicProtocolHandler ff_qcelp_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_qcelp_dynamic_handler = {
     .enc_name           = "x-Purevoice",
     .codec_type         = AVMEDIA_TYPE_AUDIO,
     .codec_id           = AV_CODEC_ID_QCELP,
diff --git a/libavformat/rtpdec_qdm2.c b/libavformat/rtpdec_qdm2.c
index 1f4fd5a..fa2b1b9 100644
--- a/libavformat/rtpdec_qdm2.c
+++ b/libavformat/rtpdec_qdm2.c
@@ -298,7 +298,7 @@  static int qdm2_parse_packet(AVFormatContext *s, PayloadContext *qdm,
     return (qdm->cache > 0) ? 1 : 0;
 }
 
-RTPDynamicProtocolHandler ff_qdm2_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_qdm2_dynamic_handler = {
     .enc_name         = "X-QDM",
     .codec_type       = AVMEDIA_TYPE_AUDIO,
     .codec_id         = AV_CODEC_ID_NONE,
diff --git a/libavformat/rtpdec_rfc4175.c b/libavformat/rtpdec_rfc4175.c
index 498381d..e9c62c1 100644
--- a/libavformat/rtpdec_rfc4175.c
+++ b/libavformat/rtpdec_rfc4175.c
@@ -226,7 +226,7 @@  static int rfc4175_handle_packet(AVFormatContext *ctx, PayloadContext *data,
     return AVERROR(EAGAIN);
 }
 
-RTPDynamicProtocolHandler ff_rfc4175_rtp_handler = {
+const RTPDynamicProtocolHandler ff_rfc4175_rtp_handler = {
     .enc_name           = "raw",
     .codec_type         = AVMEDIA_TYPE_VIDEO,
     .codec_id           = AV_CODEC_ID_BITPACKED,
diff --git a/libavformat/rtpdec_svq3.c b/libavformat/rtpdec_svq3.c
index 18d79d2..77164dd 100644
--- a/libavformat/rtpdec_svq3.c
+++ b/libavformat/rtpdec_svq3.c
@@ -110,7 +110,7 @@  static void svq3_close_context(PayloadContext *sv)
     ffio_free_dyn_buf(&sv->pktbuf);
 }
 
-RTPDynamicProtocolHandler ff_svq3_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_svq3_dynamic_handler = {
     .enc_name         = "X-SV3V-ES",
     .codec_type       = AVMEDIA_TYPE_VIDEO,
     .codec_id         = AV_CODEC_ID_NONE,      // see if (config_packet) above
diff --git a/libavformat/rtpdec_vc2hq.c b/libavformat/rtpdec_vc2hq.c
index 8a3996a..1a11ace 100644
--- a/libavformat/rtpdec_vc2hq.c
+++ b/libavformat/rtpdec_vc2hq.c
@@ -216,7 +216,7 @@  static int vc2hq_handle_packet(AVFormatContext *ctx, PayloadContext *pl_ctx,
     return res;
 }
 
-RTPDynamicProtocolHandler ff_vc2hq_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_vc2hq_dynamic_handler = {
     .enc_name         = "VC2",
     .codec_type       = AVMEDIA_TYPE_VIDEO,
     .codec_id         = AV_CODEC_ID_DIRAC,
diff --git a/libavformat/rtpdec_vp8.c b/libavformat/rtpdec_vp8.c
index f0e457b..360dd5c 100644
--- a/libavformat/rtpdec_vp8.c
+++ b/libavformat/rtpdec_vp8.c
@@ -276,7 +276,7 @@  static int vp8_need_keyframe(PayloadContext *vp8)
     return vp8->sequence_dirty || !vp8->sequence_ok;
 }
 
-RTPDynamicProtocolHandler ff_vp8_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_vp8_dynamic_handler = {
     .enc_name       = "VP8",
     .codec_type     = AVMEDIA_TYPE_VIDEO,
     .codec_id       = AV_CODEC_ID_VP8,
diff --git a/libavformat/rtpdec_vp9.c b/libavformat/rtpdec_vp9.c
index 4a7f934..6bbdf48 100644
--- a/libavformat/rtpdec_vp9.c
+++ b/libavformat/rtpdec_vp9.c
@@ -330,7 +330,7 @@  static void vp9_close_context(PayloadContext *vp9)
     ffio_free_dyn_buf(&vp9->buf);
 }
 
-RTPDynamicProtocolHandler ff_vp9_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_vp9_dynamic_handler = {
     .enc_name         = "VP9",
     .codec_type       = AVMEDIA_TYPE_VIDEO,
     .codec_id         = AV_CODEC_ID_VP9,
diff --git a/libavformat/rtpdec_xiph.c b/libavformat/rtpdec_xiph.c
index 43de6ce..574508a 100644
--- a/libavformat/rtpdec_xiph.c
+++ b/libavformat/rtpdec_xiph.c
@@ -365,7 +365,7 @@  static int xiph_parse_sdp_line(AVFormatContext *s, int st_index,
     return 0;
 }
 
-RTPDynamicProtocolHandler ff_theora_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_theora_dynamic_handler = {
     .enc_name         = "theora",
     .codec_type       = AVMEDIA_TYPE_VIDEO,
     .codec_id         = AV_CODEC_ID_THEORA,
@@ -375,7 +375,7 @@  RTPDynamicProtocolHandler ff_theora_dynamic_handler = {
     .parse_packet     = xiph_handle_packet,
 };
 
-RTPDynamicProtocolHandler ff_vorbis_dynamic_handler = {
+const RTPDynamicProtocolHandler ff_vorbis_dynamic_handler = {
     .enc_name         = "vorbis",
     .codec_type       = AVMEDIA_TYPE_AUDIO,
     .codec_id         = AV_CODEC_ID_VORBIS,
-- 
1.7.10.4