[FFmpeg-devel] [PATCH 2/6] lavf/rtp: replace linked list with array
wm4
nfxjfg at googlemail.com
Wed Jan 3 17:28:11 EET 2018
On Wed, 3 Jan 2018 00:42:45 +0000
Josh de Kock <josh at itanimul.li> wrote:
> ---
> libavformat/allformats.c | 4 --
> libavformat/rdt.c | 8 +--
> libavformat/rdt.h | 3 +
> libavformat/rtpdec.c | 157 ++++++++++++++++++++++++++++++-----------------
> libavformat/rtpdec.h | 29 ++++++++-
> libavformat/version.h | 4 +-
> 6 files changed, 136 insertions(+), 69 deletions(-)
>
> diff --git a/libavformat/allformats.c b/libavformat/allformats.c
> index 6a9b988..593baf3 100644
> --- a/libavformat/allformats.c
> +++ b/libavformat/allformats.c
> @@ -283,10 +283,6 @@ static void register_all(void)
> REGISTER_DEMUXER (SDR2, sdr2);
> REGISTER_DEMUXER (SDS, sds);
> REGISTER_DEMUXER (SDX, sdx);
> -#if CONFIG_RTPDEC
> - ff_register_rtp_dynamic_payload_handlers();
> - ff_register_rdt_dynamic_payload_handlers();
> -#endif
> REGISTER_DEMUXER (SEGAFILM, segafilm);
> REGISTER_MUXER (SEGMENT, segment);
> REGISTER_MUXER (SEGMENT, stream_segment);
> diff --git a/libavformat/rdt.c b/libavformat/rdt.c
> index b69827f..4d6321e 100644
> --- a/libavformat/rdt.c
> +++ b/libavformat/rdt.c
> @@ -554,7 +554,7 @@ rdt_close_context (PayloadContext *rdt)
> }
>
> #define RDT_HANDLER(n, s, t) \
> -static RTPDynamicProtocolHandler rdt_ ## n ## _handler = { \
> +RTPDynamicProtocolHandler ff_rdt_ ## n ## _handler = { \
> .enc_name = s, \
> .codec_type = t, \
> .codec_id = AV_CODEC_ID_NONE, \
> @@ -570,10 +570,8 @@ RDT_HANDLER(live_audio, "x-pn-multirate-realaudio-live", AVMEDIA_TYPE_AUDIO);
> RDT_HANDLER(video, "x-pn-realvideo", AVMEDIA_TYPE_VIDEO);
> RDT_HANDLER(audio, "x-pn-realaudio", AVMEDIA_TYPE_AUDIO);
>
> +#if FF_API_RTP_NEXT
> void ff_register_rdt_dynamic_payload_handlers(void)
> {
> - ff_register_dynamic_payload_handler(&rdt_video_handler);
> - ff_register_dynamic_payload_handler(&rdt_audio_handler);
> - ff_register_dynamic_payload_handler(&rdt_live_video_handler);
> - ff_register_dynamic_payload_handler(&rdt_live_audio_handler);
> }
> +#endif
You did too much work here. ff_* API is strictly internal, so it
doesn't need deprecation. You can just change all callers.
So just keep ff_rtp_handler_iterate() and kill the old iteration and
registration functions.
More information about the ffmpeg-devel
mailing list