From: Walter Doekes Date: Tue, 13 May 2014 13:52:27 +0000 (+0000) Subject: h264: Fix H264 SDP payload format. X-Git-Tag: 12.3.0-rc1~20 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32e364a2a0245c9329d054a774cf4def1799d399;p=thirdparty%2Fasterisk.git h264: Fix H264 SDP payload format. https://tools.ietf.org/html/rfc3984#section-8.1 says profile-level-id takes 3 bytes in base16 (6 hex digits). This fixes video setup in certain cases. ASTERISK-23664 #close ASTERISK-23664 #comment Patch r3530.patch uploaded by Guillaume Maudoux. Review: https://reviewboard.asterisk.org/r/3530/ ........ Merged revisions 413791 from http://svn.asterisk.org/svn/asterisk/branches/11 git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@413792 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_format_attr_h264.c b/res/res_format_attr_h264.c index 5ecde3f3f9..2bd47e0252 100644 --- a/res/res_format_attr_h264.c +++ b/res/res_format_attr_h264.c @@ -268,11 +268,11 @@ static void h264_format_attr_sdp_generate(const struct ast_format_attr *format_a } else if (i == H264_ATTR_KEY_PROFILE_IDC && format_attr->format_attr[H264_ATTR_KEY_PROFILE_IDC] && format_attr->format_attr[H264_ATTR_KEY_PROFILE_IOP] && format_attr->format_attr[H264_ATTR_KEY_LEVEL]) { if (!added) { - ast_str_append(str, 0, "a=fmtp:%u profile-level-id=%X%X%X", payload, format_attr->format_attr[H264_ATTR_KEY_PROFILE_IDC], + ast_str_append(str, 0, "a=fmtp:%u profile-level-id=%02X%02X%02X", payload, format_attr->format_attr[H264_ATTR_KEY_PROFILE_IDC], format_attr->format_attr[H264_ATTR_KEY_PROFILE_IOP], format_attr->format_attr[H264_ATTR_KEY_LEVEL]); added = 1; } else { - ast_str_append(str, 0, ";profile-level-id=%X%X%X", format_attr->format_attr[H264_ATTR_KEY_PROFILE_IDC], + ast_str_append(str, 0, ";profile-level-id=%02X%02X%02X", format_attr->format_attr[H264_ATTR_KEY_PROFILE_IDC], format_attr->format_attr[H264_ATTR_KEY_PROFILE_IOP], format_attr->format_attr[H264_ATTR_KEY_LEVEL]); } } else if ((name = h264_attr_key_to_str(i)) && h264_attr_key_addable(format_attr, i)) {