diff options
Diffstat (limited to 'main/rtp_engine.c')
-rw-r--r-- | main/rtp_engine.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/main/rtp_engine.c b/main/rtp_engine.c index 462d4c530..7a8378346 100644 --- a/main/rtp_engine.c +++ b/main/rtp_engine.c @@ -102,6 +102,9 @@ and sending this report.</para> </parameter> </syntax> + <see-also> + <ref type="managerEvent">RTCPReceived</ref> + </see-also> </managerEventInstance> </managerEvent> <managerEvent language="en_US" name="RTCPReceived"> @@ -131,6 +134,9 @@ <xi:include xpointer="xpointer(/docs/managerEvent[@name='RTCPSent']/managerEventInstance/syntax/parameter[@name='SentOctets'])" /> <xi:include xpointer="xpointer(/docs/managerEvent[@name='RTCPSent']/managerEventInstance/syntax/parameter[contains(@name, 'ReportX')])" /> </syntax> + <see-also> + <ref type="managerEvent">RTCPSent</ref> + </see-also> </managerEventInstance> </managerEvent> ***/ @@ -737,6 +743,7 @@ int ast_rtp_codecs_payloads_set_rtpmap_type_rate(struct ast_rtp_codecs *codecs, } else { new_type->format = t->payload_type.format; } + if (new_type->format) { /* SDP parsing automatically increases the reference count */ new_type->format = ast_format_parse_sdp_fmtp(new_type->format, ""); @@ -1773,7 +1780,11 @@ static void add_static_payload(int map, struct ast_format *format, int rtp_code) int x; struct ast_rtp_payload_type *type; - ast_assert(map < ARRAY_LEN(static_RTP_PT)); + /* + * ARRAY_LEN's result is cast to an int so 'map' is not autocast to a size_t, + * which if negative would cause an assertion. + */ + ast_assert(map < (int)ARRAY_LEN(static_RTP_PT)); ast_rwlock_wrlock(&static_RTP_PT_lock); if (map < 0) { @@ -1784,6 +1795,7 @@ static void add_static_payload(int map, struct ast_format *format, int rtp_code) break; } } + if (map < 0) { if (format) { ast_log(LOG_WARNING, "No Dynamic RTP mapping available for format %s\n", @@ -1815,14 +1827,10 @@ static void add_static_payload(int map, struct ast_format *format, int rtp_code) int ast_rtp_engine_load_format(struct ast_format *format) { - char *codec_name = ast_strdupa(ast_format_get_name(format)); - - codec_name = ast_str_to_upper(codec_name); - set_next_mime_type(format, 0, ast_codec_media_type2str(ast_format_get_type(format)), - codec_name, + ast_format_get_codec_name(format), ast_format_get_sample_rate(format)); add_static_payload(-1, format, 0); |