summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libaf/af.c6
-rw-r--r--libaf/af_format.h2
-rw-r--r--mplayer.c2
3 files changed, 7 insertions, 3 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);
diff --git a/mplayer.c b/mplayer.c
index a9d947fac5..8ef879021c 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -311,7 +311,7 @@ static int softsleep=0;
float force_fps=0;
static int force_srate=0;
-static int audio_output_format=0;
+static int audio_output_format=-1; // AF_FORMAT_UNKNOWN
int frame_dropping=0; // option 0=no drop 1= drop vo 2= drop decode
static int play_n_frames=-1;
static int play_n_frames_mf=-1;