}
enum {
- ARG_INFO_MASK=1,
+ ARG_FATAL_WARNINGS=1,
+ ARG_INFO_MASK,
ARG_DEBUG_MASK,
ARG_MASK,
ARG_MASK_HELP,
/* FIXME: put in the extended mask help */
static const struct poptOption options[] = {
{NULL, NUL, POPT_ARG_CALLBACK|POPT_CBFLAG_PRE|POPT_CBFLAG_POST, &init_popt_callback, 0, NULL, NULL},
+ {"gst-fatal-warnings", NUL, POPT_ARG_NONE|POPT_ARGFLAG_STRIP, NULL, ARG_FATAL_WARNINGS, "Make all warnings fatal", NULL},
{"gst-info-mask", NUL, POPT_ARG_INT|POPT_ARGFLAG_STRIP, NULL, ARG_INFO_MASK, "info bitmask", "MASK"},
{"gst-debug-mask", NUL, POPT_ARG_INT|POPT_ARGFLAG_STRIP, NULL, ARG_DEBUG_MASK, "debugging bitmask", "MASK"},
{"gst-mask", NUL, POPT_ARG_INT|POPT_ARGFLAG_STRIP, NULL, ARG_MASK, "bitmask for both info and debugging", "MASK"},
const struct poptOption *option, const char *arg, void *data)
{
gint val = 0;
+ GLogLevelFlags fatal_mask;
switch (reason) {
case POPT_CALLBACK_REASON_PRE:
break;
case POPT_CALLBACK_REASON_OPTION:
switch (option->val) {
+ case ARG_FATAL_WARNINGS:
+ fatal_mask = g_log_set_always_fatal (G_LOG_FATAL_MASK);
+ fatal_mask |= G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL;
+ g_log_set_always_fatal (fatal_mask);
+ break;
case ARG_INFO_MASK:
parse_number (arg, &val);
gst_info_set_categories (val);