[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