]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Set a module load priority for format modules.
authorRussell Bryant <russell@russellbryant.com>
Tue, 8 Dec 2009 18:00:16 +0000 (18:00 +0000)
committerRussell Bryant <russell@russellbryant.com>
Tue, 8 Dec 2009 18:00:16 +0000 (18:00 +0000)
A recent change to app_voicemail made it such that the module now assumes that
all format modules are available while processing voicemail configuration.
However, when autoloading modules, it was possible that app_voicemail was
loaded before the format modules.  Since format modules don't depend on
anything, set a module load priority on them to ensure that they get loaded
first when autoloading.

This fix applies to trunk, 1.6.1, and 1.6.2.  The fix for 1.4 and 1.6.0 will
require a different approach since the module load priority functionality is
not present in the module API.

(issue #16412)
Reported by: jiddings

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@233692 65c4cc65-6c06-0410-ace0-fbb531ad65f3

17 files changed:
formats/format_g723.c
formats/format_g726.c
formats/format_g729.c
formats/format_gsm.c
formats/format_h263.c
formats/format_h264.c
formats/format_ilbc.c
formats/format_jpeg.c
formats/format_ogg_vorbis.c
formats/format_pcm.c
formats/format_siren14.c
formats/format_siren7.c
formats/format_sln.c
formats/format_sln16.c
formats/format_vox.c
formats/format_wav.c
formats/format_wav_gsm.c

index c7d84c21605a0a78fe750a09fb69b84e58b48cbe..46f22f1eed4ae16aecd69bec023ef050509f3e5e 100644 (file)
@@ -149,4 +149,8 @@ static int unload_module(void)
        return ast_format_unregister(g723_1_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "G.723.1 Simple Timestamp File Format");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "G.723.1 Simple Timestamp File Format",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 4394328fbb9dfba3c4ce1c3469a2ca41da989d79..d519fa46d678b71f7b71e9c93daf0b51a3cf475b 100644 (file)
@@ -258,4 +258,8 @@ static int unload_module(void)
        return(0);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw G.726 (16/24/32/40kbps) data");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Raw G.726 (16/24/32/40kbps) data",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 6a676e1c04b9e3a14be87cdbe762c92094e07aa0..19be7a418f6164394ab48615089f1082b8b76cb3 100644 (file)
@@ -145,4 +145,8 @@ static int unload_module(void)
        return ast_format_unregister(g729_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw G729 data");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Raw G729 data",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 39526b4e8044c73cba358c5b4ea78944ca04a087..f1ba9fb76160ecdd7887d784e48ea78d5dcda013 100644 (file)
@@ -169,4 +169,8 @@ static int unload_module(void)
        return ast_format_unregister(gsm_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw GSM data");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Raw GSM data",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 13377f4ed5887a99f9de2c4875f413b8792e0fd0..02b7f792c8be9e53322dcedb44c0e11d8f70a5d7 100644 (file)
@@ -183,4 +183,8 @@ static int unload_module(void)
        return ast_format_unregister(h263_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw H.263 data");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Raw H.263 data",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 1fbad01bad7e04c2f1cb95d332351d98f2919785..1573475cecc593b39cc96c10455895a3f733beec 100644 (file)
@@ -172,4 +172,8 @@ static int unload_module(void)
        return ast_format_unregister(h264_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw H.264 data");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Raw H.264 data",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 6e34fb4cd422971a1fc837e6c471423f17b48a76..d01c74fc4516ef083cd6454865903a97dd636387 100644 (file)
@@ -143,4 +143,8 @@ static int unload_module(void)
        return ast_format_unregister(ilbc_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw iLBC data");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Raw iLBC data",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 98b98c26875f3e5d2a9436808b22dd0f077ecbf7..54a2422129f52e4eb869144ab429af5b8326fed7 100644 (file)
@@ -112,4 +112,8 @@ static int unload_module(void)
        return 0;
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "JPEG (Joint Picture Experts Group) Image Format");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "jpeg (joint picture experts group) image format",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 29d5ad50f0266bdf69c3ddb948fded485c7ade20..928b001049720242078c1bb1860cb4ff8fe1e5a6 100644 (file)
@@ -556,5 +556,8 @@ static int unload_module(void)
        return ast_format_unregister(vorbis_f.name);
 }
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "OGG/Vorbis audio");
-
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "OGG/Vorbis audio",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index b8517af6ec0a9fc01b616ad41dda9d3632078c5b..3129fae11a2e16b6780255a79564a10063059840 100644 (file)
@@ -494,4 +494,8 @@ static int unload_module(void)
                || ast_format_unregister(g722_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw/Sun uLaw/ALaw 8KHz (PCM,PCMA,AU), G.722 16Khz");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Raw/Sun uLaw/ALaw 8KHz (PCM,PCMA,AU), G.722 16Khz",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 8fdd4aa1fc59eda158cc56c3fc97f32e6d8b2097..215450f78592b7d9a267a1b807b47a9a96759504 100644 (file)
@@ -135,4 +135,8 @@ static int unload_module(void)
        return ast_format_unregister(siren14_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "ITU G.722.1 Annex C (Siren14, licensed from Polycom)");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "ITU G.722.1 Annex C (Siren14, licensed from Polycom)",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 44d4da751f6761cc3ad8c4ea8fa9d18d5151f4ef..a2871fcf816e5730dffea6368534c63c7f2fd350 100644 (file)
@@ -135,4 +135,8 @@ static int unload_module(void)
        return ast_format_unregister(siren7_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "ITU G.722.1 (Siren7, licensed from Polycom)");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "ITU G.722.1 (Siren7, licensed from Polycom)",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 9c4cce75b13d42e1391bca07a7c8d89b2a9cd254..11b150d5bf99f92f5980f200a65b6698d124de90 100644 (file)
@@ -127,4 +127,8 @@ static int unload_module(void)
        return ast_format_unregister(slin_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw Signed Linear Audio support (SLN)");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Raw Signed Linear Audio support (SLN)",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 15991f85471ac6bc163f423b4c357f015cccc121..3f9a73678bb23631c87ab3f2af779c896cb164b5 100644 (file)
@@ -135,4 +135,8 @@ static int unload_module(void)
        return ast_format_unregister(slin_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Raw Signed Linear 16KHz Audio support (SLN16)");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Raw Signed Linear 16KHz Audio support (SLN16)",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 5467777524b36a2911174ec05bfac07161c7f019..db9e64631ebea67f59fcbaa994b58c3f00fd822c 100644 (file)
@@ -132,4 +132,8 @@ static int unload_module(void)
        return ast_format_unregister(vox_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Dialogic VOX (ADPCM) File Format");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Dialogic VOX (ADPCM) File Format",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index ab02a5d15fc76de8918752f547422b5925685118..6cd4c54bc6576eb7b98876c29466402eee62d6d0 100644 (file)
@@ -495,4 +495,8 @@ static int unload_module(void)
        return ast_format_unregister(wav_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Microsoft WAV format (8000Hz Signed Linear)");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Microsoft WAV format (8000Hz Signed Linear)",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);
index 5796e28a648ad69e76c0641c7ea1a00d4852abb0..0b93b6eb95b50c8b8ccf342a0e68ef447361a9c5 100644 (file)
@@ -548,4 +548,8 @@ static int unload_module(void)
        return ast_format_unregister(wav49_f.name);
 }      
 
-AST_MODULE_INFO_STANDARD(ASTERISK_GPL_KEY, "Microsoft WAV format (Proprietary GSM)");
+AST_MODULE_INFO(ASTERISK_GPL_KEY, AST_MODFLAG_LOAD_ORDER, "Microsoft WAV format (Proprietary GSM)",
+       .load = load_module,
+       .unload = unload_module,
+       .load_pri = 10,
+);