From 700ef6861ab966008ca16e5f23c64eb68b047c08 Mon Sep 17 00:00:00 2001 From: Sean Bright Date: Tue, 23 May 2017 11:06:02 -0400 Subject: [PATCH] res_format_attr_h26x: Trim blanks in fmtp attributes Some devices separate format attributes with a semicolon followed by a space, so trim blanks before trying to match them. ASTERISK-27008 #close Change-Id: Ia44cb2e4fef5c73dc541a29da79cb0e19c22d9cc --- res/res_format_attr_h263.c | 2 ++ res/res_format_attr_h264.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/res/res_format_attr_h263.c b/res/res_format_attr_h263.c index 22f1936e4f..f5eef93864 100644 --- a/res/res_format_attr_h263.c +++ b/res/res_format_attr_h263.c @@ -158,6 +158,8 @@ static struct ast_format *h263_parse_sdp_fmtp(const struct ast_format *format, c while ((attrib = strsep(&attribs, ";"))) { unsigned int val, val2 = 0, val3 = 0, val4 = 0; + attrib = ast_strip(attrib); + if (sscanf(attrib, "SQCIF=%30u", &val) == 1) { attr->SQCIF = val; } else if (sscanf(attrib, "QCIF=%30u", &val) == 1) { diff --git a/res/res_format_attr_h264.c b/res/res_format_attr_h264.c index 34793ef6b8..4a39fcc778 100644 --- a/res/res_format_attr_h264.c +++ b/res/res_format_attr_h264.c @@ -186,6 +186,8 @@ static struct ast_format *h264_parse_sdp_fmtp(const struct ast_format *format, c unsigned int val; unsigned long int val2; + attrib = ast_strip(attrib); + if (sscanf(attrib, "profile-level-id=%lx", &val2) == 1) { attr->PROFILE_IDC = ((val2 >> 16) & 0xFF); attr->PROFILE_IOP = ((val2 >> 8) & 0xFF);