summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Jordan <mjordan@digium.com>2015-11-11 08:07:58 -0600
committerGerrit Code Review <gerrit2@gerrit.digium.api>2015-11-11 08:07:58 -0600
commite098fb18136550a364e6ac75a75f858a32e8cf2b (patch)
tree024d0d4c8a30f17a3e52e756b4190af414ef6a49
parentbd157b9ca8bf372a788446ca9a699f5f97a1e01b (diff)
parentf3ac4d8090207dd4440bf279e1d5ce4702aee314 (diff)
Merge "ast_format_cap: Avoid format creation on module load, use cache instead." into 13
-rw-r--r--main/format_cap.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/main/format_cap.c b/main/format_cap.c
index 1725e3862..4739efa0a 100644
--- a/main/format_cap.c
+++ b/main/format_cap.c
@@ -264,7 +264,10 @@ int ast_format_cap_append_by_type(struct ast_format_cap *cap, enum ast_media_typ
continue;
}
- format = ast_format_create(codec);
+ format = ast_format_cache_get(codec->name);
+ if (!format || (codec != ast_format_get_codec(format))) {
+ format = ast_format_create(codec);
+ }
ao2_ref(codec, -1);
if (!format) {