[MPlayer-users] Crash if seeking .avi with non-existent output driver
Dmitry Maluka
dmitrymaluka at gmail.com
Sat Nov 28 00:44:07 CET 2009
Hi!
MPlayer SVN-r29968-snapshot-4.3.4 crashes when seeking .avi files with
non-existent output driver, e.g.:
mplayer -v -ss 1000 -vo yyy izobr_zhertvu.avi
I'm using Debian Lenny 5.0.
$ uname -a
Linux mitya 2.6.26-1-686 #1 SMP Mon Dec 15 18:15:07 UTC 2008 i686 GNU/Linux
$ ls -l /lib/libc[.-]*
-rwxr-xr-x 1 root root 1315080 Окт 23 17:12 /lib/libc-2.10.1.so
lrwxrwxrwx 1 root root 14 Окт 28 19:33 /lib/libc.so.6 -> libc-2.10.1.so
$ gcc -v
gcc version 4.3.4 (Debian 4.3.4-2)
$ ld -v
GNU ld (GNU Binutils for Debian) 2.19.51.20090827
$ as --version
GNU assembler (GNU Binutils for Debian) 2.19.51.20090827
GDB output:
(gdb) r -v -ss 1000 -vo yyy izobr_zhertvu.avi
Starting program: /usr/local/bin/mplayer -v -ss 1000 -vo yyy izobr_zhertvu.avi
[Thread debugging using libthread_db enabled]
MPlayer SVN-r29968-snapshot-4.3.4 (C) 2000-2009 MPlayer Team
CPU vendor name: GenuineIntel max cpuid level: 10
CPU: Intel(R) Celeron(R) D CPU 220 @ 1.20GHz (Family: 6, Model: 22, Stepping: 1)
extended cpuid-level: 8
extended cache-info: 33562688
Detected cache-line size is 64 bytes
Testing OS support for SSE... yes.
Tests of OS support for SSE passed.
CPUflags: MMX: 1 MMX2: 1 3DNow: 0 3DNowExt: 0 SSE: 1 SSE2: 1 SSSE3: 1
Compiled for x86 CPU with extensions: MMX MMX2 SSE SSE2 SSSE3 CMOV
get_path('codecs.conf') -> '/home/mitya/.mplayer/codecs.conf'
Reading /home/mitya/.mplayer/codecs.conf: Can't open '/home/mitya/.mplayer/codecs.conf': No such file or directory
Reading /usr/local/etc/mplayer/codecs.conf: Can't open '/usr/local/etc/mplayer/codecs.conf': No such file or directory
Using built-in default codecs.conf.
Configuration: --disable-gui --enable-debug=3
CommandLine: '-v' '-ss' '1000' '-vo' 'yyy' 'izobr_zhertvu.avi'
init_freetype
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
get_path('fonts') -> '/home/mitya/.mplayer/fonts'
Using nanosleep() timing
get_path('input.conf') -> '/home/mitya/.mplayer/input.conf'
Can't open input config file /home/mitya/.mplayer/input.conf: No such file or directory
Can't open input config file /usr/local/etc/mplayer/input.conf: No such file or directory
Falling back on default (hardcoded) input config
get_path('izobr_zhertvu.avi.conf') -> '/home/mitya/.mplayer/izobr_zhertvu.avi.conf'
Playing izobr_zhertvu.avi.
get_path('sub/') -> '/home/mitya/.mplayer/sub/'
[file] File size is 730251264 bytes
STREAM: [file] izobr_zhertvu.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
LAVF_check: AVI format
AVI file format detected.
list_end=0x2292
======= AVI Header =======
us/frame: 40000 (fps=25.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames total: 150364 initial: 0
streams: 2
Suggested BufferSize: 0
Size: 640 x 336
==========================
list_end=0x10F4
==> Found video stream: 0
[aviheader] Video stream found, -vid 0
====== STREAM Header =====
Type: vids FCC: xvid (64697678)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 0
Rate: 25/1 = 25.000
Start: 0 Len: 150364
Suggested BufferSize: 112650
Quality 10000
Sample size: 0
==========================
Found 'bih', 40 bytes of 40
======= VIDEO Format ======
biSize 40
biWidth 640
biHeight 336
biPlanes 1
biBitCount 12
biCompression 1145656920='XVID'
biSizeImage 1290240
===========================
Regenerating keyframe table for MPEG-4 video.
list_end=0x2186
==> Found audio stream: 1
[aviheader] Audio stream found, -aid 1
====== STREAM Header =====
Type: auds FCC: (0)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 1
Rate: 16000/384 = 41.667
Start: 0 Len: 250607
Suggested BufferSize: 8064
Quality -1
Sample size: 384
==========================
Found 'wf', 30 bytes of 18
======= WAVE Format =======
Format Tag: 85 (0x55)
Channels: 2
Samplerate: 48000
avg byte/sec: 16000
Block align: 384
bits/sample: 0
cbSize: 12
mp3.wID=1
mp3.fdwFlags=0x2
mp3.nBlockSize=384
mp3.nFramesPerBlock=1
mp3.nCodecDelay=0
==========================================================================
list_end=0x2292
AVI: dmlh found (size=248) (total_frames=150364)
list_end=0x22D2
hdr=Software size=44
Software : VirtualDubMod 1.5.10.2 (build 2540/release)
list_end=0x2B3D4EDE
Found movie at 0x280C - 0x2B3D4EDE
Reading INDEX block, 300717 chunks for 150364 frames (fpos=725438182).
AVI index offset: 0x2808 (movi=0x280C idx0=0x4 idx1=0x1F8C)
Auto-selected AVI audio ID = 1
Auto-selected AVI video ID = 0
AVI: Searching for audio stream (id:1)
AVI video size=626740814 (150364) audio size=96233088 (250607)
VIDEO: [XVID] 640x336 12bpp 25.000 fps 833.6 kbps (101.8 kbyte/s)
Auto-selected AVI audio ID = 1
[V] filefmt:3 fourcc:0x44495658 size:640x336 fps:25.000 ftime:=0.0400
Clip info:
Software: VirtualDubMod 1.5.10.2 (build 2540/release)
get_path('sub/') -> '/home/mitya/.mplayer/sub/'
Error opening/initializing the selected video_out (-vo) device.
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer.
mp3lib: using SSE optimized decore!
MP3lib: init layer2&3 finished, tables done
MPEG 1.0, Layer III, 48000 Hz 128 kbit Joint-Stereo, BPF: 384
Channels: 2, copyright: No, original: Yes, CRC: No, emphasis: 0
AUDIO: 48000 Hz, 2 ch, s16le, 128.0 kbit/8.33% (ratio: 16000->192000)
Selected audio codec: [mp3] afm: mp3lib (mp3lib MPEG layer-2, layer-3)
==========================================================================
Building audio filter chain for 48000Hz/2ch/s16le -> 0Hz/0ch/??...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
Trying every known audio driver...
ao2: 48000 Hz 2 chans s16le
audio_setup: using '/dev/dsp' dsp device
audio_setup: using '/dev/mixer' mixer device
audio_setup: using 'pcm' mixer device
[AO OSS] audio_setup: Can't open audio device /dev/dsp: No such file or directory
alsa-init: requested format: 48000 Hz, 2 channels, 9
alsa-init: using ALSA 1.0.20
alsa-init: setup for 1/2 channel(s)
alsa-init: using device default
alsa-init: pcm opened in blocking mode
alsa-init: got buffersize=32768
alsa-init: got period size 1024
alsa: 48000 Hz/2 channels/4 bpf/32768 bytes buffer/Signed 16 bit Little Endian
AO: [alsa] 48000Hz 2ch s16le (2 bytes per sample)
AO: Description: ALSA-0.9.x-1.x audio output
AO: Author: Alex Beregszaszi, Zsolt Barat <joy at streamminister.de>
AO: Comment: under developement
Building audio filter chain for 48000Hz/2ch/s16le -> 48000Hz/2ch/s16le...
[dummy] Was reinitialized: 48000Hz/2ch/s16le
[dummy] Was reinitialized: 48000Hz/2ch/s16le
Video: no video
Freeing 0 unused video chunks.
Starting playback...
Program received signal SIGSEGV, Segmentation fault.
demux_seek_avi (demuxer=0x8e54870, rel_seek_secs=1000, audio_delay=0, flags=1) at libmpdemux/demux_avi.c:598
598 int rel_seek_frames=rel_seek_secs*sh_video->fps;
(gdb) bt
#0 demux_seek_avi (demuxer=0x8e54870, rel_seek_secs=1000, audio_delay=0, flags=1) at libmpdemux/demux_avi.c:598
#1 0x08162cb5 in demux_seek (demuxer=0x8e54870, rel_seek_secs=1000, audio_delay=0, flags=<value optimized out>) at libmpdemux/demuxer.c:1118
#2 0x08096c12 in seek (mpctx=0x897c8e0, amount=1000, style=1) at mplayer.c:2528
#3 0x0809b211 in main (argc=7, argv=0xbffffc74) at mplayer.c:3694
(gdb) bt
#0 demux_seek_avi (demuxer=0x8e54870, rel_seek_secs=1000, audio_delay=0, flags=1) at libmpdemux/demux_avi.c:598
#1 0x08162cb5 in demux_seek (demuxer=0x8e54870, rel_seek_secs=1000, audio_delay=0, flags=<value optimized out>) at libmpdemux/demuxer.c:1118
#2 0x08096c12 in seek (mpctx=0x897c8e0, amount=1000, style=1) at mplayer.c:2528
#3 0x0809b211 in main (argc=7, argv=0xbffffc74) at mplayer.c:3694
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x816abbe to 0x816abfe:
0x0816abbe <demux_seek_avi+30>: andb $0x0,0x0(%esp,%ecx,1)
0x0816abc3 <demux_seek_avi+35>: mov 0x44(%ecx),%ecx
0x0816abc6 <demux_seek_avi+38>: mov %eax,-0x74(%ebp)
0x0816abc9 <demux_seek_avi+41>: mov 0x8(%ebp),%ebx
0x0816abcc <demux_seek_avi+44>: mov 0x64(%ecx),%esi
0x0816abcf <demux_seek_avi+47>: mov 0x48(%ebx),%ebx
0x0816abd2 <demux_seek_avi+50>: mov %ecx,-0x70(%ebp)
0x0816abd5 <demux_seek_avi+53>: mov 0x64(%ebx),%eax
0x0816abd8 <demux_seek_avi+56>: mov %ebx,-0x6c(%ebp)
0x0816abdb <demux_seek_avi+59>: mov %eax,-0x64(%ebp)
0x0816abde <demux_seek_avi+62>: flds 0xe4(%eax)
0x0816abe4 <demux_seek_avi+68>: mov %esi,-0x68(%ebp)
0x0816abe7 <demux_seek_avi+71>: mov 0x1c(%ebx),%eax
0x0816abea <demux_seek_avi+74>: cmove %eax,%edi
0x0816abed <demux_seek_avi+77>: and $0x2,%edx
0x0816abf0 <demux_seek_avi+80>: je 0x816ac04 <demux_seek_avi+100>
0x0816abf2 <demux_seek_avi+82>: fstp %st(0)
0x0816abf4 <demux_seek_avi+84>: mov -0x74(%ebp),%ecx
0x0816abf7 <demux_seek_avi+87>: xor %edx,%edx
0x0816abf9 <demux_seek_avi+89>: mov 0x54(%ecx),%eax
0x0816abfc <demux_seek_avi+92>: push %edx
0x0816abfd <demux_seek_avi+93>: push %eax
End of assembler dump.
(gdb) info all-registers
eax 0x0 0
ecx 0x8e554e0 149247200
edx 0x1 1
ebx 0x8e55550 149247312
esp 0xbfffc820 0xbfffc820
ebp 0xbfffc938 0xbfffc938
esi 0x8e55828 149248040
edi 0x0 0
eip 0x816abde 0x816abde <demux_seek_avi+62>
eflags 0x210202 [ IF RF ID ]
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
st0 0 (raw 0x00000000000000000000)
st1 -nan(0x1000100010001) (raw 0xffff0001000100010001)
st2 -nan(0xffffffffffffffff) (raw 0xffffffffffffffffffff)
st3 -inf (raw 0xffff0000000000000000)
st4 -nan(0xffffffd300000000) (raw 0xffffffffffd300000000)
st5 -inf (raw 0xffff0000000000000000)
st6 -inf (raw 0xffff0000000000000000)
st7 1000 (raw 0x4008fa00000000000000)
fctrl 0x37f 895
fstat 0x7820 30752
ftag 0x7fff 32767
fiseg 0x73 115
fioff 0x816abb1 135703473
foseg 0x7b 123
fooff 0xbfffc948 -1073755832
fop 0x145 325
xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x80}, v8_int16 = {
0x0, 0x0, 0x0, 0x8000, 0x0, 0x0, 0x0, 0x8000}, v4_int32 = {0x0, 0x80000000, 0x0, 0x80000000}, v2_int64 = {0x8000000000000000, 0x8000000000000000},
uint128 = 0x80000000000000008000000000000000}
xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xa0, 0x7a, 0xc6, 0xba, 0xa0, 0x7a, 0xc6, 0x3a, 0x50, 0x71, 0x72, 0xbd, 0x99, 0x4e, 0xd7,
0x3d}, v8_int16 = {0x7aa0, 0xbac6, 0x7aa0, 0x3ac6, 0x7150, 0xbd72, 0x4e99, 0x3dd7}, v4_int32 = {0xbac67aa0, 0x3ac67aa0, 0xbd727150, 0x3dd74e99}, v2_int64 = {0x3ac67aa0bac67aa0,
0x3dd74e99bd727150}, uint128 = 0x3dd74e99bd7271503ac67aa0bac67aa0}
xmm2 {v4_float = {0x1, 0x0, 0x1, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x0, 0x0, 0x80, 0x3f, 0xf3, 0x4, 0x35, 0x3f, 0x0, 0x0, 0x80, 0x3f, 0xf3, 0x4, 0x35, 0x3f},
v8_int16 = {0x0, 0x3f80, 0x4f3, 0x3f35, 0x0, 0x3f80, 0x4f3, 0x3f35}, v4_int32 = {0x3f800000, 0x3f3504f3, 0x3f800000, 0x3f3504f3}, v2_int64 = {0x3f3504f33f800000,
0x3f3504f33f800000}, uint128 = 0x3f3504f33f8000003f3504f33f800000}
xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x1, 0xb5, 0x4b, 0x3e, 0x4c, 0x3c, 0x12, 0x3e, 0xa0, 0x43, 0x28, 0xbe, 0xaa, 0xe, 0x5, 0x3d},
v8_int16 = {0xb501, 0x3e4b, 0x3c4c, 0x3e12, 0x43a0, 0xbe28, 0xeaa, 0x3d05}, v4_int32 = {0x3e4bb501, 0x3e123c4c, 0xbe2843a0, 0x3d050eaa}, v2_int64 = {0x3e123c4c3e4bb501,
0x3d050eaabe2843a0}, uint128 = 0x3d050eaabe2843a03e123c4c3e4bb501}
xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xca, 0x8, 0x85, 0x3d, 0xca, 0x8, 0x85, 0xbd, 0x6c, 0x6f, 0xd8, 0xbd, 0x80, 0xbc, 0x30, 0xbd},
v8_int16 = {0x8ca, 0x3d85, 0x8ca, 0xbd85, 0x6f6c, 0xbdd8, 0xbc80, 0xbd30}, v4_int32 = {0x3d8508ca, 0xbd8508ca, 0xbdd86f6c, 0xbd30bc80}, v2_int64 = {0xbd8508ca3d8508ca,
0xbd30bc80bdd86f6c}, uint128 = 0xbd30bc80bdd86f6cbd8508ca3d8508ca}
xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0x32, 0xdc, 0xc1, 0x3d, 0x8f, 0x3c, 0xcc, 0xbc, 0x2c, 0x11, 0x80, 0xbd, 0x4f, 0x87, 0xd7,
0xbd}, v8_int16 = {0xdc32, 0x3dc1, 0x3c8f, 0xbccc, 0x112c, 0xbd80, 0x874f, 0xbdd7}, v4_int32 = {0x3dc1dc32, 0xbccc3c8f, 0xbd80112c, 0xbdd7874f}, v2_int64 = {0xbccc3c8f3dc1dc32,
0xbdd7874fbd80112c}, uint128 = 0xbdd7874fbd80112cbccc3c8f3dc1dc32}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xa0, 0x4d, 0xf3, 0x3c, 0xca, 0x8, 0x85, 0x3d, 0x80, 0xbc, 0x30, 0x3d, 0x6c, 0x6f, 0xd8, 0xbd},
---Type <return> to continue, or q <return> to quit---
v8_int16 = {0x4da0, 0x3cf3, 0x8ca, 0x3d85, 0xbc80, 0x3d30, 0x6f6c, 0xbdd8}, v4_int32 = {0x3cf34da0, 0x3d8508ca, 0x3d30bc80, 0xbdd86f6c}, v2_int64 = {0x3d8508ca3cf34da0,
0xbdd86f6c3d30bc80}, uint128 = 0xbdd86f6c3d30bc803d8508ca3cf34da0}
xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {0x0, 0x0}, v16_int8 = {0xf3, 0x4, 0x35, 0x3f, 0xf3, 0x4, 0x35, 0x3f, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
v8_int16 = {0x4f3, 0x3f35, 0x4f3, 0x3f35, 0x0, 0x0, 0x0, 0x0}, v4_int32 = {0x3f3504f3, 0x3f3504f3, 0x0, 0x0}, v2_int64 = {0x3f3504f33f3504f3, 0x0},
uint128 = 0x00000000000000003f3504f33f3504f3}
mxcsr 0x1fa0 [ PE IM DM ZM OM UM PM ]
mm0 {uint64 = 0xfa00000000000000, v2_int32 = {0x0, 0xfa000000}, v4_int16 = {0x0, 0x0, 0x0, 0xfa00}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfa}}
mm1 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm2 {uint64 = 0x1000100010001, v2_int32 = {0x10001, 0x10001}, v4_int16 = {0x1, 0x1, 0x1, 0x1}, v8_int8 = {0x1, 0x0, 0x1, 0x0, 0x1, 0x0, 0x1, 0x0}}
mm3 {uint64 = 0xffffffffffffffff, v2_int32 = {0xffffffff, 0xffffffff}, v4_int16 = {0xffff, 0xffff, 0xffff, 0xffff}, v8_int8 = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
0xff}}
mm4 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm5 {uint64 = 0xffffffd300000000, v2_int32 = {0x0, 0xffffffd3}, v4_int16 = {0x0, 0x0, 0xffd3, 0xffff}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0xd3, 0xff, 0xff, 0xff}}
mm6 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
mm7 {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}}
(gdb)
More information about the MPlayer-users
mailing list