diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-21 02:11:39 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-08-21 02:11:39 +0000 |
commit | 8b0c007ad990aa27d9868da49215fd1076ac77cc (patch) | |
tree | 270b9c46c1e644483d6d2a35b509f43218ba3252 /formats | |
parent | a42edc84034f91932a3e12d503e07f76a6eb498a (diff) |
merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
- support for embedded modules
- support for static builds
- simpler cross-compilation support
- simpler module/loader interface (no exported symbols)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@40722 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'formats')
-rw-r--r-- | formats/Makefile | 9 | ||||
-rw-r--r-- | formats/format_g723.c | 17 | ||||
-rw-r--r-- | formats/format_g726.c | 23 | ||||
-rw-r--r-- | formats/format_g729.c | 17 | ||||
-rw-r--r-- | formats/format_gsm.c | 17 | ||||
-rw-r--r-- | formats/format_h263.c | 17 | ||||
-rw-r--r-- | formats/format_h264.c | 17 | ||||
-rw-r--r-- | formats/format_ilbc.c | 17 | ||||
-rw-r--r-- | formats/format_jpeg.c | 20 | ||||
-rw-r--r-- | formats/format_ogg_vorbis.c | 21 | ||||
-rw-r--r-- | formats/format_pcm.c | 19 | ||||
-rw-r--r-- | formats/format_sln.c | 17 | ||||
-rw-r--r-- | formats/format_vox.c | 17 | ||||
-rw-r--r-- | formats/format_wav.c | 17 | ||||
-rw-r--r-- | formats/format_wav_gsm.c | 17 |
15 files changed, 54 insertions, 208 deletions
diff --git a/formats/Makefile b/formats/Makefile index 5a01cea3d..637175383 100644 --- a/formats/Makefile +++ b/formats/Makefile @@ -9,7 +9,7 @@ # the GNU General Public License # -ifneq ($(wildcard ../menuselect.makeopts),) +ifneq ($(wildcard $(ASTTOPDIR)/menuselect.makeopts),) include ../menuselect.makeopts include ../menuselect.makedeps endif @@ -17,7 +17,12 @@ endif C_MODS:=$(filter-out $(MENUSELECT_FORMATS),$(patsubst %.c,%,$(wildcard format_*.c))) CC_MODS:=$(filter-out $(MENUSELECT_FORMATS),$(patsubst %.cc,%,$(wildcard format_*.cc))) -SELECTED_MODS:=$(C_MODS) $(CC_MODS) +LOADABLE_MODS:=$(C_MODS) $(CC_MODS) + +ifneq ($(findstring formats,$(MENUSELECT_EMBED)),) + EMBEDDED_MODS:=$(LOADABLE_MODS) + LOADABLE_MODS:= +endif all: _all diff --git a/formats/format_g723.c b/formats/format_g723.c index 6a371fc08..ad0df5f26 100644 --- a/formats/format_g723.c +++ b/formats/format_g723.c @@ -148,27 +148,16 @@ static const struct ast_format g723_1_f = { .tell = g723_tell, .read = g723_read, .buf_size = G723_MAX_SIZE + AST_FRIENDLY_OFFSET, - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { return ast_format_register(&g723_1_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(g723_1_f.name); } -static const char *description(void) -{ - return "G.723.1 Simple Timestamp File Format"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD("G.723.1 Simple Timestamp File Format", ASTERISK_GPL_KEY); diff --git a/formats/format_g726.c b/formats/format_g726.c index b0e123bbd..41cd87a08 100644 --- a/formats/format_g726.c +++ b/formats/format_g726.c @@ -204,7 +204,6 @@ static const struct ast_format f[] = { .read = g726_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, .desc_size = sizeof(struct g726_desc), - .module = &mod_data, /* XXX */ }, { .name = "g726-32", @@ -219,7 +218,6 @@ static const struct ast_format f[] = { .read = g726_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, .desc_size = sizeof(struct g726_desc), - .module = &mod_data, /* XXX */ }, { .name = "g726-24", @@ -234,7 +232,6 @@ static const struct ast_format f[] = { .read = g726_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, .desc_size = sizeof(struct g726_desc), - .module = &mod_data, /* XXX */ }, { .name = "g726-16", @@ -249,15 +246,11 @@ static const struct ast_format f[] = { .read = g726_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, .desc_size = sizeof(struct g726_desc), - .module = &mod_data, /* XXX */ }, { .format = 0 } /* terminator */ }; -/* - * Module interface (load_module, unload_module, usecount, description, key) - */ -static int load_module(void *mod) +static int load_module(void) { int i; @@ -270,7 +263,7 @@ static int load_module(void *mod) return 0; } -static int unload_module(void *mod) +static int unload_module(void) { int i; @@ -281,14 +274,4 @@ static int unload_module(void *mod) return(0); } -static const char *description(void) -{ - return "Raw G.726 (16/24/32/40kbps) data"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw G.726 (16/24/32/40kbps) data"); diff --git a/formats/format_g729.c b/formats/format_g729.c index 0685d37a2..3f46bcbff 100644 --- a/formats/format_g729.c +++ b/formats/format_g729.c @@ -144,27 +144,16 @@ static const struct ast_format g729_f = { .tell = g729_tell, .read = g729_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { return ast_format_register(&g729_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(g729_f.name); } -static const char *description(void) -{ - return "Raw G729 data"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw G729 data"); diff --git a/formats/format_gsm.c b/formats/format_gsm.c index c31e8bbc8..f997af119 100644 --- a/formats/format_gsm.c +++ b/formats/format_gsm.c @@ -166,27 +166,16 @@ static const struct ast_format gsm_f = { .tell = gsm_tell, .read = gsm_read, .buf_size = 2*GSM_FRAME_SIZE + AST_FRIENDLY_OFFSET, /* 2 gsm frames */ - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { return ast_format_register(&gsm_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(gsm_f.name); } -static const char *description(void) -{ - return "Raw GSM data"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw GSM data"); diff --git a/formats/format_h263.c b/formats/format_h263.c index cee3fd7c6..a2537f037 100644 --- a/formats/format_h263.c +++ b/formats/format_h263.c @@ -182,27 +182,16 @@ static const struct ast_format h263_f = { .read = h263_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, .desc_size = sizeof(struct h263_desc), - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { return ast_format_register(&h263_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(h263_f.name); } -static const char *description(void) -{ - return "Raw h263 data"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw H.263 data"); diff --git a/formats/format_h264.c b/formats/format_h264.c index 0b689dc05..4b471f84e 100644 --- a/formats/format_h264.c +++ b/formats/format_h264.c @@ -171,27 +171,16 @@ static const struct ast_format h264_f = { .read = h264_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, .desc_size = sizeof(struct h264_desc), - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { return ast_format_register(&h264_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(h264_f.name); } -static const char *description(void) -{ - return "Raw h264 data"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw H.264 data"); diff --git a/formats/format_ilbc.c b/formats/format_ilbc.c index df95ea803..78d117910 100644 --- a/formats/format_ilbc.c +++ b/formats/format_ilbc.c @@ -142,27 +142,16 @@ static const struct ast_format ilbc_f = { .tell = ilbc_tell, .read = ilbc_read, .buf_size = ILBC_BUF_SIZE + AST_FRIENDLY_OFFSET, - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { return ast_format_register(&ilbc_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(ilbc_f.name); } -static const char *description(void) -{ - return "Raw iLBC data"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw iLBC data"); diff --git a/formats/format_jpeg.c b/formats/format_jpeg.c index 921dadf92..edef171d2 100644 --- a/formats/format_jpeg.c +++ b/formats/format_jpeg.c @@ -47,9 +47,6 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$") #include "asterisk/lock.h" #include "asterisk/endian.h" -static char *desc = "JPEG (Joint Picture Experts Group) Image Format"; - - static struct ast_frame *jpeg_read_image(int fd, int len) { struct ast_frame fr; @@ -115,25 +112,16 @@ static struct ast_imager jpeg_format = { jpeg_write_image, }; -static int load_module(void *mod) +static int load_module(void) { return ast_image_register(&jpeg_format); } -static int unload_module(void *mod) +static int unload_module(void) { ast_image_unregister(&jpeg_format); + return 0; } -static const char *description(void) -{ - return desc; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD(MOD_1 | NO_USECOUNT, NULL, NULL, NULL); +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "JPEG (Joint Picture Experts Group) Image Format"); diff --git a/formats/format_ogg_vorbis.c b/formats/format_ogg_vorbis.c index 84ef11b5d..d1122924a 100644 --- a/formats/format_ogg_vorbis.c +++ b/formats/format_ogg_vorbis.c @@ -21,6 +21,10 @@ * \ingroup formats */ +/* the order of these dependencies is important... it also specifies + the link order of the libraries during linking +*/ + /*** MODULEINFO <depend>vorbis</depend> <depend>ogg</depend> @@ -542,28 +546,17 @@ static const struct ast_format vorbis_f = { .close = ogg_vorbis_close, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, .desc_size = sizeof(struct vorbis_desc), - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { return ast_format_register(&vorbis_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(vorbis_f.name); } -static const char *description(void) -{ - return "OGG/Vorbis audio"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "OGG/Vorbis audio"); diff --git a/formats/format_pcm.c b/formats/format_pcm.c index 2d84851e9..67a54eb48 100644 --- a/formats/format_pcm.c +++ b/formats/format_pcm.c @@ -424,7 +424,6 @@ static const struct ast_format alaw_f = { .tell = pcm_tell, .read = pcm_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, - .module = &mod_data, /* XXX */ #ifdef REALTIME_WRITE .open = pcma_open, .rewrite = pcma_rewrite, @@ -442,7 +441,6 @@ static const struct ast_format pcm_f = { .tell = pcm_tell, .read = pcm_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, - .module = &mod_data, /* XXX */ }; static const struct ast_format au_f = { @@ -457,10 +455,9 @@ static const struct ast_format au_f = { .tell = au_tell, .read = pcm_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, /* this many shorts */ - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { int index; @@ -474,20 +471,10 @@ static int load_module(void *mod) || ast_format_register(&au_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(pcm_f.name) || ast_format_unregister(alaw_f.name) || ast_format_unregister(au_f.name); } -static const char *description(void) -{ - return "Raw/Sun uLaw/ALaw 8khz Audio support (PCM,PCMA,AU)"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw/Sun uLaw/ALaw 8khz Audio support (PCM,PCMA,AU)"); diff --git a/formats/format_sln.c b/formats/format_sln.c index 0570e82e8..c8c5cc04b 100644 --- a/formats/format_sln.c +++ b/formats/format_sln.c @@ -126,27 +126,16 @@ static const struct ast_format slin_f = { .tell = slinear_tell, .read = slinear_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { return ast_format_register(&slin_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(slin_f.name); } -static const char *description(void) -{ - return "Raw Signed Linear Audio support (SLN)"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw Signed Linear Audio support (SLN)"); diff --git a/formats/format_vox.c b/formats/format_vox.c index 170d73645..c729f3b5c 100644 --- a/formats/format_vox.c +++ b/formats/format_vox.c @@ -131,27 +131,16 @@ static const struct ast_format vox_f = { .tell = vox_tell, .read = vox_read, .buf_size = BUF_SIZE + AST_FRIENDLY_OFFSET, - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { return ast_format_register(&vox_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(vox_f.name); } -static const char *description(void) -{ - return "Dialogic VOX (ADPCM) File Format"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Dialogic VOX (ADPCM) File Format"); diff --git a/formats/format_wav.c b/formats/format_wav.c index 823c220f9..1bc922b93 100644 --- a/formats/format_wav.c +++ b/formats/format_wav.c @@ -512,27 +512,16 @@ static const struct ast_format wav_f = { .close = wav_close, .buf_size = WAV_BUF_SIZE + AST_FRIENDLY_OFFSET, .desc_size = sizeof(struct wav_desc), - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { return ast_format_register(&wav_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(wav_f.name); } -static const char *description(void) -{ - return "Microsoft WAV format (8000hz Signed Linear)"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Microsoft WAV format (8000Hz Signed Linear)"); diff --git a/formats/format_wav_gsm.c b/formats/format_wav_gsm.c index 556f70b82..fea08952e 100644 --- a/formats/format_wav_gsm.c +++ b/formats/format_wav_gsm.c @@ -555,27 +555,16 @@ static const struct ast_format wav49_f = { .close = wav_close, .buf_size = 2*GSM_FRAME_SIZE + AST_FRIENDLY_OFFSET, .desc_size = sizeof(struct wavg_desc), - .module = &mod_data, /* XXX */ }; -static int load_module(void *mod) +static int load_module(void) { return ast_format_register(&wav49_f); } -static int unload_module(void *mod) +static int unload_module(void) { return ast_format_unregister(wav49_f.name); } -static const char *description(void) -{ - return "Microsoft WAV format (Proprietary GSM)"; -} - -static const char *key(void) -{ - return ASTERISK_GPL_KEY; -} - -STD_MOD1; +AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Microsoft WAV format (Proprietary GSM)"); |