summaryrefslogtreecommitdiff
path: root/main
diff options
context:
space:
mode:
authorMatt Jordan <mjordan@digium.com>2015-11-11 08:08:02 -0600
committerGerrit Code Review <gerrit2@gerrit.digium.api>2015-11-11 08:08:02 -0600
commit7987bf54c67c35c6776d4541b80f2a5ebdf3f1a5 (patch)
tree79f703d0f1677b88d68b92e6085aa8674d1d5f03 /main
parent8b4b3e9b881cdb135c7ff0e04fb40e8d176ff763 (diff)
parente85f0c81af56e48711468e820d6bcdbbb65c6310 (diff)
Merge "ast_format_cap: Avoid format creation on module load, use cache instead."
Diffstat (limited to 'main')
-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 d486d5d8c..2221c5339 100644
--- a/main/format_cap.c
+++ b/main/format_cap.c
@@ -230,7 +230,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) {