Opened 17 years ago

Last modified 13 years ago

#840 closed defect (fixed)

mplayer balks on possible bad WAV file, but file plays on other players

Reported by: daniel.obrien@… Owned by: mans@…
Priority: normal Component: demuxer
Version: unspecified Severity: major
Keywords: MPlayer Cc: compn
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Ran into a short WAV file that mplayer chokes on, but seems to be playable on all the other commonly used players/audio tools: sox, winamp, audacity. Even tried the latest SVN version of mplayer and it still fails to play it. Granted, the wav file could be damaged, but we checked the source of it a couple of times and it seems golden.

Test file at: http://www.danobrien.ws/~dmobrien/TestWavFile.wav

Output:

mplayer TestWavFile.wav
MPlayer 1.0rc1-3.4.4 (C) 2000-2006 MPlayer Team
CPU: Intel(R) Xeon(TM) CPU 3.40GHz (Family: 15, Model: 4, Stepping: 3)
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNow2: 0 SSE: 1 SSE2: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2

Playing TestWavFile.wav.
Audio file file format detected.
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
Cannot find codec 'dts' in libavcodec...
ADecoder init failed :(
ADecoder init failed :(
Opening audio decoder: [hwac3] AC3/DTS pass-through S/PDIF
No accelerated IMDCT transform found
DTS: Only 48kHz supported, REPORT BUG
hwac3: switched to AC3, 40000 bps, 24000 Hz
a52: CRC check failed!
AUDIO: 24000 Hz, 2 ch, ac3, 40.0 kbit/5.21% (ratio: 5000->96000)
Selected audio codec: [hwdts] afm: hwac3 (DTS through S/PDIF)
==========================================================================
[AO OSS] audio_setup: Can't open audio device /dev/dsp: Permission denied
Opening /dev/dvb/adapter0/audio0
DVB AUDIO DEVICE: No such file or directory
AO: [null] 24000Hz 2ch ac3 (1 bytes per sample)
Video: no video
Starting playback...
a52: CRC check failed!
a52: CRC check failed!
a52: CRC check failed!
a52: CRC check failed!
a52: CRC check failed!
a52: CRC check failed!
a52: CRC check failed!
a52: CRC check failed!
a52: CRC check failed!
a52: CRC check failed!
a52: CRC check failed! 22.0 (23:42.0) 3.8%
a52: CRC check failed! 19.0 (20:19.0) 4.4%
a52: CRC check failed! 19.0 (20:19.0) 4.0%
a52: CRC check failed! 06.0 (28:26.0) 3.8%
a52: CRC check failed! 22.0 (23:42.0) 3.7%
a52: CRC check failed! 22.0 (23:42.0) 3.6%
a52: CRC check failed! 06.0 (28:26.0) 3.4%
a52: CRC check failed! 38.0 (40:38.0) 3.7%
a52: CRC check failed! 22.0 (23:42.0) 3.5%
a52: CRC check failed! 653.0 ( 3:47:33.0) 3.4%
a52: CRC check failed! 22.0 (23:42.0) 3.6%
a52: CRC check failed! 06.0 (28:26.0) 4.0%
a52: CRC check failed! 66.0 ( 1:11:06.0) 4.0%
a52: CRC check failed! 19.0 (20:19.0) 3.8%
a52: CRC check failed! 33.0 (35:33.0) 3.8%
a52: CRC check failed! 06.0 (28:26.0) 3.7%
a52: CRC check failed! 13.0 (56:53.0) 3.6%
a52: CRC check failed! 13.0 (56:53.0) 3.6%
A: 434.1 (07:14.1) of 1219.0 (20:19.0) 3.5%
Exiting... (Quit)

And the SVN version output:

./mplayer ../TestWavFile.wav

MPlayer dev-SVN-r23457-4.1.2 (C) 2000-2007 MPlayer Team
CPU: AMD Athlon(tm) (Family: 6, Model: 8, Stepping: 1)
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE

Playing ../TestWavFile.wav.
Audio file file format detected.
==========================================================================
Opening audio decoder: [ffmpeg] FFmpeg/libavcodec audio decoders
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
AUDIO: 44100 Hz, 2 ch, s16le, 1411.2 kbit/100.00% (ratio: 176400->176400)
Selected audio codec: [ffdca] afm: ffmpeg (FFmpeg DTS)
==========================================================================
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
Video: no video
Starting playback...
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
Input frame size larger then DCA_MAX_FRAME_SIZE!
[dca @ 0x87edf00]Not a valid DCA frame
A: 95.8 (01:35.7) of 96.0 (01:36.0) ??,?%

Exiting... (End of file)

We use mplayer to convert lots of files from various forms into PCM files and we don't have much control about the kinds and sources of the files we receive. This file was one of hundreds, but this one fails to play in mplayer.

Change History (3)

comment:1 by mans@…, 17 years ago

Component: libavcodecdemuxer
Keywords: MPlayer added; FFmpeg removed
product: FFmpegMPlayer

FFmpeg handles that file just fine. Possibly MPlayer bug.

comment:2 by compn, 17 years ago

yep mplayer demuxer bug
dts in wav detection is greedy

workaround: mplayer -ac +pcm testwavfile.wav
workaround2: mplayer -demuxer lavf testwavfile.wav

comment:3 by compn, 13 years ago

Resolution: fixed
Status: newclosed, patriotact@gmail.com

sample is 404, but dts-in-wav was just fixed in svn

Note: See TracTickets for help on using tickets.