Opened 19 years ago

Closed 17 years ago

Last modified 17 years ago

#277 closed defect (fixed)

IMA ADPCM files play without sound

Reported by: happyspaceinvader@… Owned by: reimar
Priority: normal Component: ad
Version: HEAD Severity: normal
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: no Analyzed by developer: no

Description

Files recorded by the Archos AV400 series use IMA ADPCM instead of MP3 for the
soundtrack. When playing these files back through MPlayer (on Windows or Linux)
the soundtrack is not detected and the following error is thrown:

ChunkID mismatch! raw=00wb idx=01wb
stream_seek: WARNING! Can't seek to 0xA78DEAA !
ds_fill_buffer: EOF reached (stream: audio)
AVI: No audio stream found -> no sound.

The video file continues to play but without sound.

C:\> mplayer -v "03 Revenge of Shinobi.avi"
MPlayer 1.0pre6-3.2.3 (C) 2000-2004 MPlayer Team
CPU: Advanced Micro Devices Athlon MP/XP Thoroughbred (Family: 6, Stepping: 1)
Detected cache-line size is 64 bytes
CPUflags: MMX: 1 MMX2: 1 3DNow: 1 3DNow2: 1 SSE: 0 SSE2: 0
Compiled with runtime CPU detection - WARNING - this is not optimal!
To get best performance, recompile MPlayer with --disable-runtime-cpudetection.

CommandLine: '-v' '03 Revenge of Shinobi.avi'
init_freetype
c:/windows/fonts/arial.ttf doesn't look like a font description, ignoring.
Cannot load font: c:/windows/fonts/arial.ttf
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Windows native timing
get_path('input.conf') -> 'C:/mplayer/mplayer/input.conf'
Parsing input config file C:/mplayer/mplay
er/input.conf
Input config file C:/mplayer/mplayer/input
.conf parsed: 53 binds
get_path('03 Revenge of Shinobi.avi.conf') -> 'C:/mplayer/mplayer/03 Revenge of
Shinobi.avi.conf'
Playing 03 Revenge of Shinobi.avi.
WINSOCK2 init: 0
[file] File size is 4771360 bytes
STREAM: [file] 03 Revenge of Shinobi.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
AVI file format detected.
list_end=0x146
======= AVI Header =======
us/frame: 40000 (fps=25.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames total: 625 initial: 0
streams: 2
Suggested BufferSize: 0
Size: 512 x 384
==========================
list_end=0xD4
==> Found video stream: 0

STREAM Header =====

Type: vids FCC: divx (78766964)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 0
Rate: 2500/100 = 25.000
Start: 0 Len: 625
Suggested BufferSize: 0
Quality 10000
Sample size: 0
==========================
found 'bih', 40 bytes of 40
======= VIDEO Format ======

biSize 40
biWidth 512
biHeight 384
biPlanes 1
biBitCount 24
biCompression 1482049860='DIVX'
biSizeImage 589824

===========================
Regenerating keyframe table for MPEG4 video
list_end=0x146
==> Found audio stream: 1

STREAM Header =====

Type: auds FCC: (0)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 1
Rate: 48330/1024 = 47.197
Start: 0 Len: 1223520
Suggested BufferSize: 0
Quality -1
Sample size: 1
==========================
found 'wf', 30 bytes of 18
======= WAVE Format =======
Format Tag: 17 (0x11)
Channels: 2
Samplerate: 48000
avg byte/sec: 48330
Block align: 1024
bits/sample: 4
cbSize: 2
Unknown extra header dump: [f9] [3]
===========================
list_end=0x487FF8
Found movie at 0x80C - 0x487FF8
Reading INDEX block, 1250 chunks for 625 frames (fpos=00488000)
AVI index offset: 0x0 (movi=0x80C idx0=0x80C idx1=0x1092)
Auto-selected AVI video ID = 0
Auto-selected AVI audio ID = 1
AVI: Searching for audio stream (id:1)
ChunkID mismatch! raw=00wb idx=01wb
ChunkID mismatch! raw=00wb idx=01wb

[truncated by 1,000 lines or so]

ChunkID mismatch! raw=00wb idx=01wb
ChunkID mismatch! raw=00wb idx=01wb
stream_seek: WARNING! Can't seek to 0xA78DEAA !
ds_fill_buffer: EOF reached (stream: audio)
AVI: No audio stream found -> no sound.
AVI video size=3515464 (625) audio size=0 (0)
VIDEO: [DIVX] 512x384 24bpp 25.000 fps 1124.9 kbps (137.3 kbyte/s)
[V] filefmt:3 fourcc:0x58564944 size:512x384 fps:25.00 ftime:=0.0400
get_path('sub/') -> 'C:/Documents and Settings/rcross/Desktop/mplayer/mplayer/su
b/'
get_path('default.sub') -> 'C:/Documents and Settings/rcross/Desktop/mplayer/mpl
ayer/default.sub'
==========================================================================
Opening audio decoder: [pcm] Uncompressed PCM audio decoder
dec_audio: Allocating 2048 + 65536 = 67584 bytes for output buffer.
AUDIO: 48000 Hz, 2 ch, 8 bit (0x8), ratio: 48330->96000 (386.6 kbit)
Selected audio codec: [pcm] afm:pcm (Uncompressed PCM)
==========================================================================
<vo_directx><INFO>checking primary surface
<vo_directx><FORMAT PRIMARY>13 BGR32 supported
<vo_directx><INFO>testing supported overlay pixelformats
<vo_directx><FORMAT OVERLAY>0 YV12 supported
<vo_directx><FORMAT OVERLAY>1 I420 not supported
<vo_directx><FORMAT OVERLAY>2 IYUV not supported
<vo_directx><FORMAT OVERLAY>3 YVU9 supported
<vo_directx><FORMAT OVERLAY>4 YUY2 supported
<vo_directx><FORMAT OVERLAY>5 UYVY supported
<vo_directx><FORMAT OVERLAY>6 RGB15 not supported
<vo_directx><FORMAT OVERLAY>7 BGR15 not supported
<vo_directx><FORMAT OVERLAY>8 RGB16 not supported
<vo_directx><FORMAT OVERLAY>9 BGR16 not supported
<vo_directx><FORMAT OVERLAY>10 RGB24 not supported
<vo_directx><FORMAT OVERLAY>11 BGR24 not supported
<vo_directx><FORMAT OVERLAY>12 RGB32 not supported
<vo_directx><FORMAT OVERLAY>13 BGR32 not supported
<vo_directx><INFO>Your card supports 4 of 14 overlayformats
<vo_directx><INFO>can mirror up down
<vo_directx><INFO>hardware supports overlay
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
INFO: libavcodec init OK!
Selected video codec: [ffodivx] vfm:ffmpeg (FFmpeg MPEG-4)
==========================================================================
Checking audio filter chain for 48000Hz/2ch/8bit -> 48000Hz/2ch/8bit...
[libaf] Adding filter dummy
[dummy] Was reinitialized, rate=48000Hz, nch = 2, format = 0x00000003 and bps =
1
AF_pre: af format: 1 bps, 2 ch, 48000 hz, little endian unsigned int
AF_pre: 48000Hz 2ch Unsigned 8-bit
ao_dsound: DirectSound initialized
ao_dsound: format Unsigned 8-bit not supported defaulting to Signed 16-bit Littl
e-Endian
ao_dsound: Samplerate:48000Hz Channels:2 Format:Signed 16-bit (Little-Endian)
ao_dsound: Buffersize:192000 bytes (1000 msec)
ao_dsound: primary buffer created
ao_dsound: secondary (stream)buffer created
AO: [dsound] 48000Hz 2ch Signed 16-bit (Little-Endian) (2 bps)
AO: Description: Windows DirectSound audio output
AO: Author: Gabor Szecsi <deje@…>
Building audio filter chain for 48000Hz/2ch/8bit -> 48000Hz/2ch/16bit...
[dummy] Was reinitialized, rate=48000Hz, nch = 2, format = 0x00000003 and bps =
1
[libaf] Adding filter format
[format] Changing sample format from 8bit little endian unsigned int to 16bit li
ttle endian signed int
[dummy] Was reinitialized, rate=48000Hz, nch = 2, format = 0x00000003 and bps =
1
[format] Changing sample format from 8bit little endian unsigned int to 16bit li
ttle endian signed int
Starting playback...
[ffmpeg] aspect_ratio: 1.333333
VDec: vo config request - 512 x 384 (preferred csp: Planar YV12)
Trying filter chain: vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.33:1 - prescaling to correct movie aspect.
VO Config (512x384->512x384,flags=0,'MPlayer',0x32315659)
VO: [directx] 512x384 => 512x384 Planar YV12
VO: Description: Directx DDraw YUV/RGB/BGR renderer
VO: Author: Sascha Sommer <saschasommer@…>
<vo_directx><INFO>overlay with format YV12 created
* [vo] Allocating (slices) mp_image_t, 512x384x12bpp YUV planar, 294912 bytes
* [vo] Allocating (slices) mp_image_t, 512x384x12bpp YUV planar, 294912 bytes
Unicode font: 1418 glyphs.
ds_fill_buffer: EOF reached (stream: video)
EOF code: 1

Uninit audio filters...
[libaf] Removing filter dummy
[libaf] Removing filter format
uninit audio: pcm
uninit video: ffmpeg
WINSOCK2 uninit
ao_dsound: DirectSound uninitialized

Exiting... (End of file)

Attachments (2)

VID0009_EDIT0000.AVI (451.1 KB ) - added by happyspaceinvader@… 19 years ago.
Example video file that does not play correctly
avi_fcc_fix.diff (542 bytes ) - added by reimar 17 years ago.
Fixes playback

Download all attachments as: .zip

Change History (7)

comment:1 by saschasommer@…, 19 years ago

Can you upload such a file?

by happyspaceinvader@…, 19 years ago

Attachment: VID0009_EDIT0000.AVI added

Example video file that does not play correctly

comment:2 by happyspaceinvader@…, 19 years ago

OK, in trying to get a file small enough for upload, I have stumbled across the
real problem. Files recorded straight from the Archos AV400 play fine, but
those that you edit on the Archos and then save as a new file do not.

I think what happens is that in editing out bits of the file and saving the
edited version, the Archos creates a slightly corrupted file. These files play
in Windows Media Player and on the Archos itself, but will not play in MPlayer.

Perhaps the solution would be to have a setting that makes MPlayer less fussy
or something?

Also, as well as on Windows and Linux, I am running MPlayer on my Xbox (via
Xbox Media Center). If you do plan a change to fix this problem, I would be
very grateful if it could be set in the config file, rather than just as a
command line option. If there already is a setting that will acheive this -
please forgive my ignorance :-)

comment:3 by diego@…, 18 years ago

Component: aoad
Owner: changed from alex@… to r_togni@…
rep_platform: PC (x86)All
Version: 1.0pre6CVS

xine can play the sample fine...

by reimar, 17 years ago

Attachment: avi_fcc_fix.diff added

Fixes playback

comment:4 by reimar, 17 years ago

Owner: changed from r_togni@… to Reimar.Doeffinger@…
Status: newassigned

Attached patch should fix playback of this file, but I am quite certain it is
not really a valid AVI file.

comment:5 by reimar, 17 years ago

Resolution: fixed
Status: assignedclosed

Fixed in SVN r20416.

Note: See TracTickets for help on using tickets.