[Asterisk-code-review] format cap: Don't append the 'none' format when appending all. (asterisk[master])

Matt Jordan asteriskteam at digium.com
Thu Nov 12 10:54:01 CST 2015


Matt Jordan has submitted this change and it was merged.

Change subject: format_cap: Don't append the 'none' format when appending all.
......................................................................


format_cap: Don't append the 'none' format when appending all.

When appending all formats of a type all the codecs are iterated
and added. This operation was incorrectly adding the ast_format_none
format which is special in that it is supposed to be used when no
format is present. It shouldn't be appended.

ASTERISK-25535

Change-Id: I7b00f3bdf4a5f3022e483d6ece602b1e8b12827c
---
M main/format_cap.c
M tests/test_format_cap.c
2 files changed, 9 insertions(+), 1 deletion(-)

Approvals:
  Kevin Harwell: Looks good to me, but someone else must approve
  Anonymous Coward #1000019: Verified
  Matt Jordan: Looks good to me, approved



diff --git a/main/format_cap.c b/main/format_cap.c
index 2221c53..9e16aa3 100644
--- a/main/format_cap.c
+++ b/main/format_cap.c
@@ -231,7 +231,15 @@
 		}
 
 		format = ast_format_cache_get(codec->name);
+
+		if (format == ast_format_none) {
+			ao2_ref(format, -1);
+			ao2_ref(codec, -1);
+			continue;
+		}
+
 		if (!format || (codec != ast_format_get_codec(format))) {
+			ao2_cleanup(format);
 			format = ast_format_create(codec);
 		}
 		ao2_ref(codec, -1);
diff --git a/tests/test_format_cap.c b/tests/test_format_cap.c
index b62f6e5..1f02c29 100644
--- a/tests/test_format_cap.c
+++ b/tests/test_format_cap.c
@@ -245,7 +245,7 @@
 	} else if (!ast_format_cap_has_type(caps, AST_MEDIA_TYPE_VIDEO)) {
 		ast_test_status_update(test, "Added all media formats but no video formats exist when they should\n");
 		return AST_TEST_FAIL;
-	} else if ((ast_format_cap_count(caps) + 1) != ast_codec_get_max()) {
+	} else if ((ast_format_cap_count(caps) + 1) != (ast_codec_get_max() - 1)) {
 		ast_test_status_update(test, "The number of formats in the capabilities structure does not match known number\n");
 		return AST_TEST_FAIL;
 	}

-- 
To view, visit https://gerrit.asterisk.org/1612
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I7b00f3bdf4a5f3022e483d6ece602b1e8b12827c
Gerrit-PatchSet: 3
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: Kevin Harwell <kharwell at digium.com>
Gerrit-Reviewer: Matt Jordan <mjordan at digium.com>



More information about the asterisk-code-review mailing list