If the regular expression of a filter specifier does not match any
audio formats, we ignore this filter spec silently. Most likely this
was not intended and deserves a log message, so let's add it.
static int parse_filter_args(void)
{
static int parse_filter_args(void)
{
- int i, j, ret, af_mask;
+ int i, j, ret, af_mask, num_matches;
for (i = 0; i < conf.filter_given; i++) {
char *arg;
for (i = 0; i < conf.filter_given; i++) {
char *arg;
if (ret < 0)
goto out;
af_mask = ret;
if (ret < 0)
goto out;
af_mask = ret;
FOR_EACH_AUDIO_FORMAT(j) {
if ((af_mask & (1 << j)) == 0) /* no match */
continue;
ret = add_filter(j, arg);
if (ret < 0)
goto out;
FOR_EACH_AUDIO_FORMAT(j) {
if ((af_mask & (1 << j)) == 0) /* no match */
continue;
ret = add_filter(j, arg);
if (ret < 0)
goto out;
+ if (num_matches == 0)
+ PARA_WARNING_LOG("ignoring filter spec: %s\n",
+ conf.filter_arg[i]);
}
ret = init_default_filters(); /* use default values for the rest */
out:
}
ret = init_default_filters(); /* use default values for the rest */
out: