diff options
Diffstat (limited to 'libaf')
-rw-r--r-- | libaf/af.c | 6 | ||||
-rw-r--r-- | libaf/af_format.h | 2 |
2 files changed, 6 insertions, 2 deletions
diff --git a/libaf/af.c b/libaf/af.c index ba5d59da14..e76af0821e 100644 --- a/libaf/af.c +++ b/libaf/af.c @@ -443,7 +443,8 @@ int af_init(af_stream_t* s) } // Check output format fix if not OK - if(s->output.format && s->last->data->format != s->output.format){ + if(s->output.format != AF_FORMAT_UNKNOWN && + s->last->data->format != s->output.format){ if(strcmp(s->last->info->name,"format")) af = af_append(s,s->last,"format"); else @@ -460,7 +461,8 @@ int af_init(af_stream_t* s) if(AF_OK != af_reinit(s,s->first)) return -1; - if (!s->output.format) s->output.format = s->last->data->format; + if (s->output.format == AF_FORMAT_UNKNOWN) + s->output.format = s->last->data->format; if (!s->output.nch) s->output.nch = s->last->data->nch; if (!s->output.rate) s->output.rate = s->last->data->rate; if((s->last->data->format != s->output.format) || diff --git a/libaf/af_format.h b/libaf/af_format.h index dffd87e85e..8963886b41 100644 --- a/libaf/af_format.h +++ b/libaf/af_format.h @@ -84,6 +84,8 @@ #define AF_FORMAT_FLOAT_NE AF_FORMAT_FLOAT_LE #endif +#define AF_FORMAT_UNKNOWN (-1) + extern int af_str2fmt(const char *str); extern int af_str2fmt_short(const char *str); extern int af_fmt2bits(int format); |