aboutsummaryrefslogtreecommitdiffstats
path: root/formats
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-21 02:11:39 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-08-21 02:11:39 +0000
commit8b0c007ad990aa27d9868da49215fd1076ac77cc (patch)
tree270b9c46c1e644483d6d2a35b509f43218ba3252 /formats
parenta42edc84034f91932a3e12d503e07f76a6eb498a (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/Makefile9
-rw-r--r--formats/format_g723.c17
-rw-r--r--formats/format_g726.c23
-rw-r--r--formats/format_g729.c17
-rw-r--r--formats/format_gsm.c17
-rw-r--r--formats/format_h263.c17
-rw-r--r--formats/format_h264.c17
-rw-r--r--formats/format_ilbc.c17
-rw-r--r--formats/format_jpeg.c20
-rw-r--r--formats/format_ogg_vorbis.c21
-rw-r--r--formats/format_pcm.c19
-rw-r--r--formats/format_sln.c17
-rw-r--r--formats/format_vox.c17
-rw-r--r--formats/format_wav.c17
-rw-r--r--formats/format_wav_gsm.c17
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)");