mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
ast_format_cap: Avoid format creation on module load, use cache instead.
Since Asterisk 13, formats are immutable and cached. However while loading a module like chan_sip, some formats were created instead using cached ones. ASTERISK-25535 #close Change-Id: I479cdc220d5617c840a98f3389b3bd91e91fbd9b
This commit is contained in:
@@ -230,7 +230,10 @@ int ast_format_cap_append_by_type(struct ast_format_cap *cap, enum ast_media_typ
|
|||||||
continue;
|
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);
|
ao2_ref(codec, -1);
|
||||||
|
|
||||||
if (!format) {
|
if (!format) {
|
||||||
|
Reference in New Issue
Block a user