https://origsvn.digium.com/svn/asterisk/trunk
........
r233692 | russell | 2009-12-08 12:00:16 -0600 (Tue, 08 Dec 2009) | 16 lines
Set a module load priority for format modules.
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/branches/1.6.1@233693
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
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,
+);
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,
+);
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,
+);
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,
+);
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,
+);
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,
+);
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,
+);
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,
+);
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,
+);
|| 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,
+);
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,
+);
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,
+);
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,
+);
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,
+);
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,
+);