summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libmpdemux/aviheader.c2
-rw-r--r--libmpdemux/demux_audio.c2
2 files changed, 3 insertions, 1 deletions
diff --git a/libmpdemux/aviheader.c b/libmpdemux/aviheader.c
index ac3a7f7ae6..1d52428c42 100644
--- a/libmpdemux/aviheader.c
+++ b/libmpdemux/aviheader.c
@@ -331,6 +331,8 @@ while(1){
sh_audio->wf=realloc(sh_audio->wf, sizeof(*sh_audio->wf)+sh_audio->wf->cbSize);
}
sh_audio->format=sh_audio->wf->wFormatTag;
+ if (sh_audio->wf->wFormatTag == 0xfffe && sh_audio->wf->cbSize >= 22)
+ sh_audio->format = le2me_16(((WAVEFORMATEXTENSIBLE *)sh_audio->wf)->SubFormat);
if (sh_audio->format == 1 &&
last_fccHandler == mmioFOURCC('A', 'x', 'a', 'n'))
sh_audio->format = last_fccHandler;
diff --git a/libmpdemux/demux_audio.c b/libmpdemux/demux_audio.c
index 6d8b891cd7..327c6ddfce 100644
--- a/libmpdemux/demux_audio.c
+++ b/libmpdemux/demux_audio.c
@@ -415,7 +415,7 @@ static int demux_audio_open(demuxer_t* demuxer) {
stream_read(s,(char*)(w + 1),w->cbSize);
l -= w->cbSize;
if (w->wFormatTag == 0xfffe && w->cbSize >= 22)
- sh_audio->format = av_le2ne16(((WAVEFORMATEXTENSIBLE *)w)->SubFormat);
+ sh_audio->format = le2me_16(((WAVEFORMATEXTENSIBLE *)w)->SubFormat);
}
if( mp_msg_test(MSGT_DEMUX,MSGL_V) ) print_wave_header(w, MSGL_V);