[MEncoder-users] Bug in mplayer/mencoder 1.0pre7 and CVS regarding -audiofile / seperate audio file leads to crash or async video, take 10 seconds and try yourself
Sebastian
sebastian_ml at gmx.net
Tue Apr 19 02:06:10 CEST 2005
Sebastian schrieb:
> Hello list!
>
> Try this:
>
> mplayer video.avi -audiofile audio.mp3
>
> When you feel lucky hit the 'q'-key to quit mplayer and it will crash
> instantly.
>
> Another issue is muxing the two streams together:
>
> mencoder video.avi -audiofile audio.mp3 -ovc copy -oac copy -o new.avi
>
> It will skip lots of frames and the result will be out of sync badly. It
> seems to crash, too, but not hard as above.
>
> I could post a lot more info like the devs want on their website, but I
> guess it's happening to any x86 user anyway (I'm on a gentoo box and I
> also chattet to a Slackware user in #mplayer on freenode who suffered
> the same crash) so there's no point to tell you guys about the specifics
> of my system ;-)
>
> Sure thing it happens relatively seldom a user wants to use a seperate
> audiotrack with mplayer, but I think more people want to mux two
> streams, so it'll be great to have that fixed :=)
>
> Cheers
>
> Sebastian
Here's what gdb says:
gdb mplayer
GNU gdb 6.0
Copyright 2003 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db
library "/lib/libthread_db.so.1".
(gdb) run -v Monk.avi -audiofile audio.wav.mp3
Starting program: /usr/bin/mplayer -v Monk.avi -audiofile audio.wav.mp3
[Thread debugging using libthread_db enabled]
[New Thread 16384 (LWP 6158)]
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/share/locale
MPlayer dev-CVS-050419-00:55-3.3.5-20050130 (C) 2000-2005 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: 1 SSE2: 0
Compiled for x86 CPU with extensions: MMX MMX2 3DNow 3DNowEx SSE
Warning unknown option cache_min at line 144
Warning unknown option cache_prefill at line 147
CommandLine: '-v' 'Monk.avi' '-audiofile' 'audio.wav.mp3'
get_path('font/font.desc') -> '/home/sk/.mplayer/font/font.desc'
font: can't open file: /home/sk/.mplayer/font/font.desc
Font /usr/share/mplayer/font/font.desc loaded successfully! (206 chars)
Using MMX (with tiny bit MMX2) Optimized OnScreenDisplay
Using Linux hardware RTC timing (1024Hz).
get_path('input.conf') -> '/home/sk/.mplayer/input.conf'
Can't open input config file /home/sk/.mplayer/input.conf: No such file
or directory
Parsing input config file /usr/share/mplayer/input.conf
Input config file /usr/share/mplayer/input.conf parsed: 59 binds
get_path('Monk.avi.conf') -> '/home/sk/.mplayer/Monk.avi.conf'
Playing Monk.avi.
[file] File size is 271133624 bytes
STREAM: [file] Monk.avi
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
Detaching after fork from child process 6161.
CACHE_PRE_INIT: 0 [0] 0 pre:0 eof:0
Cache fill: 0.00% (0 bytes) [file] File size is 39706752 bytes
STREAM: [file] audio.wav.mp3
STREAM: Description: File
STREAM: Author: Albeu
STREAM: Comment: based on the code from ??? (probably Arpi)
AVI file format detected.
list_end=0x120
======= AVI Header =======
us/frame: 40000 (fps=25.000)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (2320) HAS_INDEX IS_INTERLEAVED TRUST_CKTYPE
frames total: 62037 initial: 0
streams: 1
Suggested BufferSize: 0
Size: 480 x 368
==========================
list_end=0x120
==> Found video stream: 0
====== STREAM Header =====
Type: vids FCC: XVID (44495658)
Flags: 0
Priority: 0 Language: 0
InitialFrames: 0
Rate: 25/1 = 25.000
Start: 0 Len: 62037
Suggested BufferSize: 50985
Quality 0
Sample size: 0
==========================
found 'bih', 40 bytes of 40
======= VIDEO Format ======
biSize 40
biWidth 480
biHeight 368
biPlanes 1
biBitCount 12
biCompression 1145656920='XVID'
biSizeImage 264960
===========================
Regenerating keyframe table for MPEG4 video
======= Video Properties Header =======
Format: 0 VideoStandard: 0
VRefresh: 25 HTotal: 480 VTotal: 368
FrameAspect: 16384:12561 Framewidth: 480 Frameheight: 368
Fields: 1
== Field 0 description ==
CompressedBMHeight: 368 CompressedBMWidth: 480
ValidBMHeight: 368 ValidBMWidth: 480
ValidBMXOffset: 0 ValidBMYOffset: 0
VideoXOffsetInT: 0 VideoYValidStartLine: 0
=======================================
list_end=0x162
hdr=Software size=45
Software : MEncoder dev-CVS-050418-22:32-3.3.5-20050130
list_end=0x101A0660
Found movie at 0x100C - 0x101A0660
Reading INDEX block, 62037 chunks for 62037 frames (fpos=0x101a0668)
AVI index offset: 0x1008 (movi=0x100C idx0=0x4 idx1=0x2340)
Auto-selected AVI video ID = 0
AVI_NI: No audio stream found -> no sound.
AVI video size=269621179 (62037) audio size=0 (0)
VIDEO: [XVID] 480x368 12bpp 25.000 fps 869.2 kbps (106.1 kbyte/s)
Checking for YUV4MPEG2
ASF_check: not ASF guid!
Checking for Nullsoft Streaming Video
Checking for NuppelVideo
Checking for REAL
Checking for SMJPEG
Searching demuxer type for filename audio.wav.mp3 ext: .mp3
Trying demuxer 17 based on filename extension
==> Found audio stream: 0
demux_audio: seeking from 0x25DE003 to start pos 0x0
demux_audio: audio data 0x0 - 0x25DE080
Audio file detected.
[V] filefmt:65536 fourcc:0x44495658 size:480x368 fps:25.00 ftime:=0.0400
get_path('sub/') -> '/home/sk/.mplayer/sub/'
get_path('default.sub') -> '/home/sk/.mplayer/default.sub'
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
dec_audio: Allocating 4608 + 65536 = 70144 bytes for output buffer.
mp3lib: made decode tables with MMX optimization
mp3lib: using 3DNow!Ex 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)
==========================================================================
X11 opening display: :0.0
vo: X11 color mask: FFFFFF (R:FF0000 G:FF00 B:FF)
vo: X11 running at 1280x1024 with depth 24 and 32 bpp (":0.0" => local
display)
[x11] Detected wm supports NetWM.
[x11] Detected wm supports FULLSCREEN state.
[x11] Detected wm supports ABOVE state.
[x11] Detected wm supports BELOW state.
[x11] Current fstype setting honours FULLSCREEN ABOVE BELOW X atoms
[xv common] Drawing colorkey manually.
[xv common] Using colorkey from Xv (0x00001e).
==========================================================================
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/s16le -> 48000Hz/2ch/s16le...
[libaf] Adding filter dummy
[dummy] Was reinitialized: 48000Hz/2ch/s16le
AF_pre: 48000Hz/2ch/s16le
alsa-init: requested format: 48000 Hz, 2 channels, 9
alsa-init: compiled for ALSA-1.0.8
alsa-init: setup for 1/2 channel(s)
alsa-init: 1 soundcard found, using: default
alsa-init: pcm opend in block-mode
alsa-init: chunksize set to 1024
alsa-init: fragcount=6
alsa-init: got buffersize=26212
alsa: 48000 Hz/2 channels/4 bpf/26212 bytes buffer/Signed 16 bit Little
Endian
AO: [alsa] 48000Hz 2ch s16le (2 bps)
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
Starting playback...
alsa-space: free space = 26212, prepared --
[ffmpeg] aspect_ratio: 1.304348
VDec: vo config request - 480 x 368 (preferred csp: Planar YV12)
Trying filter chain: vo
VDec: using Planar YV12 as output csp (no 0)
Movie-Aspect is 1.30:1 - prescaling to correct movie aspect.
VO Config (480x368->480x368,flags=0,'MPlayer',0x32315659)
VO: [xv] 480x368 => 480x368 Planar YV12
VO: Description: X11/Xv
VO: Author: Gerd Knorr <kraxel at goldbach.in-berlin.de> and others
Xvideo image format: 0x32595559 (YUY2) packed
Xvideo image format: 0x59565955 (UYVY) packed
Xvideo image format: 0x32315659 (YV12) planar
Xvideo image format: 0x30323449 (I420) planar
using Xvideo port 53 for hw scaling
[xv] dx: 0 dy: 0 dw: 480 dh: 368
*** [vo] Allocating (slices) mp_image_t, 480x368x12bpp YUV planar,
264960 bytes
[xv] dx: 0 dy: 0 dw: 480 dh: 368
*** [vo] Allocating (slices) mp_image_t, 480x368x12bpp YUV planar,
264960 bytes
*** [vo] Allocating (slices) mp_image_t, 480x368x12bpp YUV planar,
264960 bytes
No bind found for key MOUSE_BTN0 0.8% 0 0 70%
Uninit audio filters... 0.000 ct: 0.001 848/848 9% 0% 0.8% 0 0 70%
[libaf] Removing filter dummy
uninit audio: mp3lib
uninit video: ffmpeg
*** glibc detected *** double free or corruption (!prev): 0x08502320 ***
Program received signal SIGABRT, Aborted.
[Switching to Thread 16384 (LWP 6158)]
0xb7a5a811 in kill () from /lib/libc.so.6
(gdb) bt
#0 0xb7a5a811 in kill () from /lib/libc.so.6
#1 0xb7c412e0 in pthread_kill () from /lib/libpthread.so.0
#2 0xb7c4163b in raise () from /lib/libpthread.so.0
#3 0xb7a5a3f2 in raise () from /lib/libc.so.6
#4 0xb7a5bc50 in abort () from /lib/libc.so.6
#5 0xb7a95a9b in mallopt () from /lib/libc.so.6
#6 0xb7a94799 in mallopt () from /lib/libc.so.6
#7 0xb7a9353d in free () from /lib/libc.so.6
#8 0x080cda77 in free_demuxer (demuxer=0x180e) at demuxer.c:267
#9 0x0804d6f4 in uninit_player (mask=3787) at mplayer.c:420
#10 0x0804d738 in exit_player_with_rc (how=0x8362949 "Quit", rc=0)
at mplayer.c:488
#11 0x08051042 in main (argc=5, argv=0xbf941654) at mplayer.c:2808
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0xb7a5a7f1 to 0xb7a5a831:
0xb7a5a7f1 <sigprocmask+65>: mov %esi,(%eax)
0xb7a5a7f3 <sigprocmask+67>: mov $0xffffffff,%esi
0xb7a5a7f8 <sigprocmask+72>: jmp 0xb7a5a7df <sigprocmask+47>
0xb7a5a7fa <sigprocmask+74>: nop
0xb7a5a7fb <sigprocmask+75>: nop
0xb7a5a7fc <sigprocmask+76>: nop
0xb7a5a7fd <sigprocmask+77>: nop
0xb7a5a7fe <sigprocmask+78>: nop
0xb7a5a7ff <sigprocmask+79>: nop
0xb7a5a800 <kill+0>: mov %ebx,%edx
0xb7a5a802 <kill+2>: mov 0x8(%esp,1),%ecx
0xb7a5a806 <kill+6>: mov 0x4(%esp,1),%ebx
0xb7a5a80a <kill+10>: mov $0x25,%eax
0xb7a5a80f <kill+15>: int $0x80
0xb7a5a811 <kill+17>: mov %edx,%ebx
0xb7a5a813 <kill+19>: cmp $0xfffff001,%eax
0xb7a5a818 <kill+24>: jae 0xb7a5a81b <kill+27>
0xb7a5a81a <kill+26>: ret
0xb7a5a81b <kill+27>: push %ebx
0xb7a5a81c <kill+28>: call 0xb7a464ba
0xb7a5a821 <kill+33>: add $0xe77d3,%ebx
0xb7a5a827 <kill+39>: xor %edx,%edx
---Type <return> to continue, or q <return> to quit---
0xb7a5a829 <kill+41>: sub %eax,%edx
0xb7a5a82b <kill+43>: push %edx
0xb7a5a82c <kill+44>: call 0xb7a46378
End of assembler dump.
(gdb) info all-registers
eax 0x0 0
ecx 0x6 6
edx 0xb7c46ff4 -1211863052
ebx 0x180e 6158
esp 0xbf940054 0xbf940054
ebp 0xbf94006c 0xbf94006c
esi 0x180e 6158
edi 0xb7c49480 -1211853696
eip 0xb7a5a811 0xb7a5a811
eflags 0x246 582
cs 0x73 115
ss 0x7b 123
ds 0x7b 123
es 0x7b 123
fs 0x0 0
gs 0x33 51
st0 -nan(0xb1b3b31d76ecd7d7) (raw 0xffffb1b3b31d76ecd7d7)
st1 -nan(0xfbd9d9d92b471dee) (raw 0xfffffbd9d9d92b471dee)
st2 -1 (raw 0xbfff8000000000000000)
st3 0.096633170545544544438598677515983582 (raw
0x3ffbc5e79c999d800000)
st4 27.531299930490149563411250710487366 (raw
0x4003dc401a2d8e940000)
---Type <return> to continue, or q <return> to quit---
st5 319.60159919308352982625365257263184 (raw
0x40079fcd0133cdcc0000)
st6 1 (raw 0x3fff8000000000000000)
st7 1 (raw 0x3fff8000000000000000)
fctrl 0x37f 895
fstat 0x4021 16417
ftag 0xffff 65535
fiseg 0x0 0
fioff 0x0 0
foseg 0x0 0
fooff 0x0 0
fop 0x0 0
xmm0 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm1 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
---Type <return> to continue, or q <return> to quit---
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm2 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm3 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm4 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm5 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
---Type <return> to continue, or q <return> to quit---
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm6 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
xmm7 {v4_float = {0x0, 0x0, 0x0, 0x0}, v2_double = {
0x8000000000000000, 0x8000000000000000}, v16_int8 = {
0xff <repeats 16 times>}, v8_int16 = {0xffff, 0xffff, 0xffff, 0xffff,
0xffff, 0xffff, 0xffff, 0xffff}, v4_int32 = {0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff}, v2_int64 = {0xffffffffffffffff,
0xffffffffffffffff}, uint128 = 0xffffffffffffffffffffffffffffffff}
mxcsr 0x1f80 8064
mm0 {uint64 = 0xb1b3b31d76ecd7d7, v2_int32 = {0x76ecd7d7,
0xb1b3b31d}, v4_int16 = {0xd7d7, 0x76ec, 0xb31d, 0xb1b3}, v8_int8 =
{0xd7,
0xd7, 0xec, 0x76, 0x1d, 0xb3, 0xb3, 0xb1}}
mm1 {uint64 = 0xfbd9d9d92b471dee, v2_int32 = {0x2b471dee,
0xfbd9d9d9}, v4_int16 = {0x1dee, 0x2b47, 0xd9d9, 0xfbd9}, v8_int8 =
{0xee,
0x1d, 0x47, 0x2b, 0xd9, 0xd9, 0xd9, 0xfb}}
mm2 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0,
---Type <return> to continue, or q <return> to quit---
0x0, 0x80}}
mm3 {uint64 = 0xc5e79c999d800000, v2_int32 = {0x9d800000,
0xc5e79c99}, v4_int16 = {0x0, 0x9d80, 0x9c99, 0xc5e7}, v8_int8 = {0x0,
0x0, 0x80, 0x9d, 0x99, 0x9c, 0xe7, 0xc5}}
mm4 {uint64 = 0xdc401a2d8e940000, v2_int32 = {0x8e940000,
0xdc401a2d}, v4_int16 = {0x0, 0x8e94, 0x1a2d, 0xdc40}, v8_int8 = {0x0,
0x0, 0x94, 0x8e, 0x2d, 0x1a, 0x40, 0xdc}}
mm5 {uint64 = 0x9fcd0133cdcc0000, v2_int32 = {0xcdcc0000,
0x9fcd0133}, v4_int16 = {0x0, 0xcdcc, 0x133, 0x9fcd}, v8_int8 =
{0x0, 0x0,
0xcc, 0xcd, 0x33, 0x1, 0xcd, 0x9f}}
mm6 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0,
0x0, 0x80}}
mm7 {uint64 = 0x8000000000000000, v2_int32 = {0x0, 0x80000000},
v4_int16 = {0x0, 0x0, 0x0, 0x8000}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
0x0, 0x0,
0x0, 0x80}}
(gdb)
More information about the MEncoder-users
mailing list