codecs: Fix ABI incompatibility created by adding format_name to ast_codec
authorGeorge Joseph <gjoseph@digium.com>
Tue, 28 Jun 2016 14:00:32 +0000 (08:00 -0600)
committerGeorge Joseph <gjoseph@digium.com>
Wed, 29 Jun 2016 14:01:51 +0000 (09:01 -0500)
commit4045e6d8ba6677f86483df28d902090fd5b471cd
tree04c0b5b0f5fead892baab98643c66c342541e434
parent541f0386941d536059dd4ab9b1fecce547bda71c
codecs:  Fix ABI incompatibility created by adding format_name to ast_codec

Adding format_name even to the end of ast_codec caused issued with
binary codec modules because the pointer would be garbage in asterisk
when they registered.  So, the ast_codec structure was reverted and an
internal_ast_codec structure was created just for use in codec.c.  A new
internal-only API was also added (__ast_codec_register_with_format) so
that codec_builtin could register codecs with the format_name in a
separate parameter rather than in the ast_codec structure.

ASTERISK-26144 #close
Reported-by: Alexei Gradinari

Change-Id: I6df1b08f6a6ae089db23adfe1ebc8636330265ba
include/asterisk/codec.h
main/codec.c
main/codec_builtin.c