[MPlayer-users] Two Bugs when playing Matroska Video Files

Philipp Wollermann phil_wo at gmx.net
Thu Mar 25 19:24:30 CET 2004


Hi,

hey - my first mail to the mplayer mailing list and two bugs to report! 
;) No, mplayer is great software, but maybe we can get these things 
below fixed. :) I use the current CVS version, by the way. If I did 
something wrong in this bug report, please tell me. :)

I get a crash (sig11) when trying to play a selfencoded Matroska Video 
File, containing video captured from DVB-s. Audio is the original MPEG-2 
192 kbps stream from DVB, Video is reencoded XviD dev-api-4 from cvs.
I muxed the file in Windows using AVI-Mux GUI 1.16.4. The crash does not 
happen when I try to playback a MKV file created with VirtualDubMod, 
which contains a different movie, but also the original MPEG-2 192 kbps 
stream from DVB and reencoded XviD.
I can't really upload the file as I only have ISDN and no flatrate.. if 
you really need it, tell me and I will find a way to get it on your ftp.

"BluesBrothers (XviD 1.0rc3-cvs)_1.mkv" is the file which does not work 
and "indy_1.mkv" is the file which "works" - sound however is distorted 
and it sounds as if it was encoded with a very low bitrate - artifacts, 
hiss and things like that. When I playback the original audio file which 
is muxed in the MKV file using mpg123 it sounds completely correct. I 
don't get any error messages or warnings or something like that. I will 
convert the MKV file to an AVI and see if the sound is still distorted. 
However I don't think, that it's the fault of the Matroska Splitter..

Some information about my system, the files, a gdb backtrace and some 
other things see below. If you need anything else, just mail me or the 
list. :)

Philipp

[philwo at erazor Desktop]$ mkvinfo BluesBrothers\ \(XviD\ 1.0rc3-cvs\)_1.mkv
+ EBML head
+ Segment, size 733413530
|+ Seek head (subentries will be skipped)
|+ Segment tracks
| + A track
|  + Track number: 1
|  + Track UID: 2073185771
|  + Default flag: 1
|  + Lacing flag: 0
|  + Track type: video
|  + Default duration: 40.000ms (25.000 fps for a video track)
|  + MinCache: 1
|  + MaxCache: 0
|  + Codec ID: V_MS/VFW/FOURCC
|  + CodecPrivate, length 40 (FourCC: XVID, 0x44495658)
|  + Timecode scale: 1.000000
|  + Video track
|   + Pixel width: 688
|   + Pixel height: 560
|   + Display width: 688
|   + Display height: 560
| + A track
|  + Track number: 2
|  + Track UID: 1931549165
|  + Default flag: 0
|  + Lacing flag: 1
|  + Track type: audio
|  + Default duration: 24.000ms (41.667 fps for a video track)
|  + MinCache: 1
|  + MaxCache: 1
|  + Codec ID: A_MPEG/L2
|  + Timecode scale: 1.000000
|  + Audio track
|   + Sampling frequency: 48000.000000
|   + Channels: 2
|   + Bit depth: 0
| + EbmlVoid (size: 362)
|+ Segment information
| + Segment UID: 0xb2 0x96 0x40 0x73 0xb4 0x11 0x8f 0x86 0xbb 0x80 0xf2 
0x8b 0x63 0xa2 0x7d 0x56
| + Duration: 4086.240s (01:08:06.240)
| + Writing application: AVI-Mux GUI 1.16.4, Mar 15 2004  17:19:57
| + Muxing application: matroska muxer by Alexander Noe, build date Mar 
14 2004
| + Title: Blues Brothers (1/2)
|+ Cluster

[philwo at erazor Desktop]$ mkvinfo indy_1.mkv
+ EBML head
+ Segment, size 733863675
|+ Segment information
| + Muxing application: libebml-0.6.3 & libmatroska-0.6.1
| + Writing application: VirtualDubMod 1.5.10.1 (build 2366/release)
| + Segment UID: 0x81 0xb8 0x40 0x5c 0x50 0x7f 0xa8 0x3f 0x94 0x80 0x4a 
0x40 0x71 0x31 0xb9 0x98
| + Duration: 3159.288s (00:52:39.288)
| + Date: Thu Mar 25 13:50:08 2004 UTC
|+ Seek head (subentries will be skipped)
|+ EbmlVoid (size: 64085)
|+ Segment tracks
| + A track
|  + Track number: 1
|  + Track UID: 1547745409
|  + Track type: video
|  + MinCache: 1
|  + Codec ID: V_MS/VFW/FOURCC
|  + CodecPrivate, length 40 (FourCC: XVID, 0x44495658)
|  + Lacing flag: 0
|  + Default duration: 40.000ms (25.000 fps for a video track)
|  + Video track
|   + Pixel width: 704
|   + Pixel height: 400
|   + Display width: 704
|   + Display height: 400
| + A track
|  + Track number: 2
|  + Track UID: 1068007248
|  + Track type: audio
|  + Codec ID: A_MPEG/L2
|  + Audio track
|   + Sampling frequency: 48000.000000
|   + Channels: 2
|+ Cluster

Linux distribution: Mandrake 10.0 Community

[root at erazor xml]# uname -a
Linux erazor 2.6.4 #2 Fri Mar 19 22:41:30 CET 2004 i686 unknown unknown 
GNU/Linux

[root at erazor xml]# ls -l /lib/libc[.-]*
-rwxr-xr-x  1 root root 1281788 Feb 16 15:02 /lib/libc-2.3.3.so*
lrwxrwxrwx  1 root root      13 Mar 16 22:51 /lib/libc.so.6 -> 
libc-2.3.3.so*

[root at erazor xml]# gcc -v
Reading specs from /usr/lib/gcc-lib/i586-mandrake-linux-gnu/3.3.2/specs
Configured with: ../configure --prefix=/usr --libdir=/usr/lib 
--with-slibdir=/lib --mandir=/usr/share/man --infodir=/usr/share/info 
--enable-shared --enable-threads=posix --disable-checking 
--enable-long-long --enable-__cxa_atexit --enable-clocale=gnu 
--enable-languages=c,c++,ada,f77,objc,java,pascal 
--host=i586-mandrake-linux-gnu --with-system-zlib
Thread model: posix
gcc version 3.3.2 (Mandrake Linux 10.0 3.3.2-6mdk)

[root at erazor xml]# ld -v
GNU ld version 2.14.90.0.7 20031029

[root at erazor xml]# as --version
GNU assembler 2.14.90.0.7 20031029
Copyright 2002 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License.  This program has absolutely no warranty.
This assembler was configured for a target of `i586-mandrake-linux-gnu'.

Window manager: KDE 3.2

[root at erazor xml]# xdpyinfo | grep "depth of root"
  depth of root window:    24 planes

GTK 1.x version: 1.2.10
GTK 2.x version: 2.2.4
GLIB 1.x version: 1.2.10
GLIB 2.x version: 2.2.3
libpng version: 1.2.5

[root at erazor xml]# cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 6
model name      : AMD Athlon(TM) XP 1800+
stepping        : 2
cpu MHz         : 1535.887
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge 
mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips        : 3039.23

Video card: ATI Radeon 9700
Video driver: ATI fglrx-4.3.0-3.7.6

Sound card type: C-Media Electronics Inc CM8738 with ALSA 1.0.2

GDB Backtrace:

[philwo at erazor Desktop]$ gdb --args mplayer ./BluesBrothers\ \(XviD\ 
1.0rc3-cvs\)_1.mkv
GNU gdb 6.0-2mdk (Mandrake Linux)
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 "i586-mandrake-linux-gnu"...Using host 
libthread_db library "/lib/tls/libthread_db.so.1".

(gdb) run
Starting program: /usr/local/bin/mplayer ./BluesBrothers\ \(XviD\ 
1.0rc3-cvs\)_1.mkv
[Thread debugging using libthread_db enabled]
[New Thread 1084792896 (LWP 15816)]
Using GNU internationalization
Original domain: messages
Original dirname: /usr/share/locale
Current domain: mplayer
Current dirname: /usr/local/share/locale

MPlayer dev-CVS-040324-22:54-3.3.2 (C) 2000-2004 MPlayer Team

CPU: Advanced Micro Devices Athlon 4 /Athlon MP/XP Palomino 1536 MHz 
(Family: 6, Stepping: 2)
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

Reading config file /usr/local/etc/mplayer/mplayer.conf: No such file or 
directory
Reading config file /home/philwo/.mplayer/config
Reading /home/philwo/.mplayer/codecs.conf: 64 audio & 172 video codecs
font: can't open file: /home/philwo/.mplayer/font/font.desc
font: can't open file: /usr/local/share/mplayer/font/font.desc
Using Linux hardware RTC timing (1024Hz).
Can't open input config file /home/philwo/.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

Playing ./BluesBrothers (XviD 1.0rc3-cvs)_1.mkv.
[mkv] Track ID 1: video (V_MS/VFW/FOURCC), -vid 0
[mkv] Track ID 2: audio (A_MPEG/L2), -aid 0, -alang eng
[mkv] Will play video track 1
[mkv] Will play audio track 2
Matroska file format detected.
==========================================================================
Opening audio decoder: [mp3lib] MPEG layer-2, layer-3
MP3lib: init layer2&3 finished, tables done

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1084792896 (LWP 15816)]
0x4090136c in memcpy () from /lib/tls/libc.so.6
(gdb) bt
#0  0x4090136c in memcpy () from /lib/tls/libc.so.6
#1  0x08198007 in handle_block (demuxer=0x861d6f8, block=0x8633a9e 
"ee4\021!\"\021\021D\222I$\222I$\222", length=Unhandled dwarf expression 
opcode
)
    at demux_mkv.c:2572
#2  0x0819847e in demux_mkv_fill_buffer (demuxer=0x861d6f8) at 
demux_mkv.c:2657
#3  0x0815c363 in ds_fill_buffer (ds=0x861b0e8) at demuxer.c:422
#4  0x0815c558 in demux_read_data (ds=0x861b0e8, mem=0xbfffd060 
"ÿÿÿÿûÿÿÿþÿÿÿþÿÿÿ", len=4) at demuxer.c:441
#5  0x080edb73 in mplayer_audio_read (buf=0xbfffd060 "ÿÿÿÿûÿÿÿþÿÿÿþÿÿÿ", 
size=4) at ad_mp3lib.c:29
#6  0x08130b66 in read_frame (fr=0x84cdf00) at sr1.c:60
#7  0x081308b8 in MP3_DecodeFrame (hova=0x0, single=-2) at sr1.c:504
#8  0x080edbe5 in init (sh=0x86226d8) at ad_mp3lib.c:49
#9  0x080ec192 in init_audio_codec (sh_audio=0x86226d8) at dec_audio.c:105
#10 0x080ec452 in init_audio (sh_audio=0x86226d8, codecname=0x0, 
afm=0x0, status=1) at dec_audio.c:195
#11 0x080ec61a in init_best_audio_codec (sh_audio=0x86226d8, 
audio_codec_list=0xbfffd154, audio_fm_list=0x0)
    at dec_audio.c:240
#12 0x080819c6 in main (argc=2, argv=0xbffff5b4) at mplayer.c:1666
(gdb) disass $pc-32 $pc+32
Dump of assembler code from 0x4090134c to 0x4090138c:
0x4090134c <memccpy+60>:        pop    %ebp
0x4090134d <memccpy+61>:        ret
0x4090134e <memccpy+62>:        nop
0x4090134f <memccpy+63>:        nop
0x40901350 <memcpy+0>:  mov    0xc(%esp,1),%ecx
0x40901354 <memcpy+4>:  mov    %edi,%eax
0x40901356 <memcpy+6>:  mov    0x4(%esp,1),%edi
0x4090135a <memcpy+10>: mov    %esi,%edx
0x4090135c <memcpy+12>: mov    0x8(%esp,1),%esi
0x40901360 <memcpy+16>: cld
0x40901361 <memcpy+17>: shr    %ecx
0x40901363 <memcpy+19>: jae    0x40901366 <memcpy+22>
0x40901365 <memcpy+21>: movsb  %ds:(%esi),%es:(%edi)
0x40901366 <memcpy+22>: shr    %ecx
0x40901368 <memcpy+24>: jae    0x4090136c <memcpy+28>
0x4090136a <memcpy+26>: movsw  %ds:(%esi),%es:(%edi)
0x4090136c <memcpy+28>: repz movsl %ds:(%esi),%es:(%edi)
0x4090136e <memcpy+30>: mov    %eax,%edi
0x40901370 <memcpy+32>: mov    %edx,%esi
0x40901372 <memcpy+34>: mov    0x4(%esp,1),%eax
0x40901376 <memcpy+38>: ret
0x40901377 <memcpy+39>: nop
0x40901378 <memcpy+40>: nop
0x40901379 <memcpy+41>: nop
0x4090137a <memcpy+42>: nop
0x4090137b <memcpy+43>: nop
0x4090137c <memcpy+44>: nop
0x4090137d <memcpy+45>: nop
0x4090137e <memcpy+46>: nop
0x4090137f <memcpy+47>: nop
0x40901380 <memcpy+48>: push   %ebp
0x40901381 <memcpy+49>: mov    %esp,%ebp
0x40901383 <memcpy+51>: sub    $0xc,%esp
0x40901386 <memcpy+54>: mov    %esi,0x4(%esp,1)
0x4090138a <memcpy+58>: mov    0x8(%ebp),%ecx
End of assembler dump.
(gdb) info all-registers
eax            0x861bcf4        140623092
ecx            0x217ede5        35122661
edx            0x861bc00        140622848
ebx            0x1      1
esp            0xbfffcdec       0xbfffcdec
ebp            0xbfffcf18       0xbfffcf18
esi            0x8653ffe        140853246
edi            0x40c70568       1086784872
eip            0x4090136c       0x4090136c
eflags         0x10212  66066
cs             0x73     115
ss             0x7b     123
ds             0x7b     123
es             0x7b     123
fs             0x0      0
gs             0x33     51
st0            <invalid float value>    (raw 0xffff0000000000000000)
st1            <invalid float value>    (raw 0xffff0000000000000000)
st2            <invalid float value>    (raw 0xffff0000000000000000)
st3            <invalid float value>    (raw 0xffff0000000000000000)
st4            <invalid float value>    (raw 0xffff0000000000000000)
st5            <invalid float value>    (raw 0xffff0000000000000000)
st6            0        (raw 0x00000000000000000000)
st7            0        (raw 0x00000000000000000000)
fctrl          0x37f    895
fstat          0x4020   16416
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, 0xffffffffffffffff},
  uint128 = 0xffffffffffffffffffffffffffffffff}
---Type <return> to continue, or q <return> to quit---
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, 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 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 
0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0}}
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 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 
0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0}}
mm3            {uint64 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 
0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0}}
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 = 0x0, v2_int32 = {0x0, 0x0}, v4_int16 = {0x0, 
0x0, 0x0, 0x0}, v8_int8 = {0x0, 0x0, 0x0, 0x0,
    0x0, 0x0, 0x0, 0x0}}
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,
---Type <return> to continue, or q <return> to quit---
    0x0, 0x0, 0x0, 0x0}}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mplayer bluesbrothers.log
Type: text/x-log
Size: 4894 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-users/attachments/20040325/3601f987/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: mplayer indy.log
Type: text/x-log
Size: 20954 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-users/attachments/20040325/3601f987/attachment-0001.bin>


More information about the MPlayer-users mailing list