From 0c378ea1f76e226eff460c84634e7227e3705372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= Date: Fri, 23 Sep 2011 15:47:56 -0400 Subject: [PATCH] rtp: factorize dynamic payload type fallback Move the identical code in rtp_write_header() and ff_sdp_write_media() inside ff_rtp_get_payload_type() Signed-off-by: Luca Barbato --- libavformat/rtp.c | 5 +++++ libavformat/rtpenc.c | 3 --- libavformat/sdp.c | 3 --- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/libavformat/rtp.c b/libavformat/rtp.c index d59b6941b6..35edb5066a 100644 --- a/libavformat/rtp.c +++ b/libavformat/rtp.c @@ -103,6 +103,11 @@ int ff_rtp_get_payload_type(AVCodecContext *codec) continue; payload_type = AVRtpPayloadTypes[i].pt; } + + /* dynamic payload type */ + if (payload_type < 0) + payload_type = RTP_PT_PRIVATE + (codec->codec_type == AVMEDIA_TYPE_AUDIO); + return payload_type; } diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c index ef261c3022..1f5d9ba37a 100644 --- a/libavformat/rtpenc.c +++ b/libavformat/rtpenc.c @@ -93,9 +93,6 @@ static int rtp_write_header(AVFormatContext *s1) } s->payload_type = ff_rtp_get_payload_type(st->codec); - if (s->payload_type < 0) - s->payload_type = RTP_PT_PRIVATE + (st->codec->codec_type == AVMEDIA_TYPE_AUDIO); - s->base_timestamp = av_get_random_seed(); s->timestamp = s->base_timestamp; s->cur_timestamp = 0; diff --git a/libavformat/sdp.c b/libavformat/sdp.c index c227c7f603..f27a89936c 100644 --- a/libavformat/sdp.c +++ b/libavformat/sdp.c @@ -533,9 +533,6 @@ void ff_sdp_write_media(char *buff, int size, AVCodecContext *c, const char *des int payload_type; payload_type = ff_rtp_get_payload_type(c); - if (payload_type < 0) { - payload_type = RTP_PT_PRIVATE + (c->codec_type == AVMEDIA_TYPE_AUDIO); - } switch (c->codec_type) { case AVMEDIA_TYPE_VIDEO : type = "video" ; break;