Hi all, For some reason playing the latest releases from a certain fansub group (duel-audio Matroska container) causes MPlayer to crash. The earlier releases didn't, so presumably they are using a newer tools version. Unfortunatly, I havn't been able to verify this. mkvextract is able to extract the streams, and they play fine individually. Mplayer is compiled with Matroska (using 0.5.0 libs from Debian Unstable, GCC 3.3) and can play other Matroska files. Only the recent five releases cause a crash. Unfortunatly, the crash seems to cause mplayer to change EIP to NULL, so I cannot get a GDB backtrace or disassembly. This is with the latest CVS, as of this message being posted. The only intresting thing from a -v is the apparant cause of the crash: [mkv] Found the head... [mkv] + a segment... [mkv] |+ segment information... [mkv] | + duration: 1434.400s [mkv] |+ found seek head [mkv] | + seek entry [mkv] | + seek ID: 0x15 0x49 0xa9 0x66 (KaxInfo) [mkv] | + seek position: 0 <snip> [mkv] | + seek entry [mkv] | + seek ID: 0x12 0x54 0xc3 0x67 (unknown) [mkv] | + seek position: 205850152 [mkv] |+ segment tracks... [mkv] | + unknown element@2: N7libebml9EbmlCrc32E MPlayer interrupted by signal 11 in module: demux_open I have uploaded the first 5Mb of the file to ftp://mplayerhq.hu/MPlayer/incoming/Kenshin_09.mkv This can be used to reproduce the problem. If anybody has a patch to try, or needs any more info... just ask :) - Ender http://www.scummvm.org/ | "Amen! Attempts to eradicate humour from http://www.quakesrc.org/ | our distribution should be ignored with http://www.enderboi.com/ | extreme prejudice" - cjwatson@debian.org
Hi.
For some reason playing the latest releases from a certain fansub group (duel-audio Matroska container) causes MPlayer to crash. The earlier releases didn't, so presumably they are using a newer tools version. Unfortunatly, I havn't been able to verify this.
Yes, the current mplayer demuxer needs some work (not much, I'll do that later this week). It cannot read files created with the latest VDubMod. You might try to run mkvmerge to re-create the file - maybe that'll help ('mkvmerge -o fixed.mkv broken.mkv').
Unfortunatly, the crash seems to cause mplayer to change EIP to NULL, so I cannot get a GDB backtrace or disassembly.
No need for a backtrace, I know exactly what's wrong. I'll post a note when I've fixed it. -- ==> Ciao, Mosu (Moritz Bunkus)
Hi. I've just committed my changes. I've also taken the opportunity to rewrite quite a bit of the element handling... So it might be buggy. It does work with files created by mkvmerge and the sample you provided, however, so I'm hopeful that it simply works correctly (hope dies last ;)). -- ==> Ciao, Mosu (Moritz Bunkus)
Hmm: demux_mkv.cpp: In function `int demux_mkv_open(demuxer_t*)': demux_mkv.cpp:967: error: integer constant is too large for "long" type demux_mkv.cpp:979: error: integer constant is too large for "long" type Anyway, if I reduce the MaxDataSize value to something that'll compile (0xFFFFFFFFL), it seems to work fine with all my MKVs... Thanks! :) - Ender http://www.scummvm.org/ | "Amen! Attempts to eradicate humour from http://www.quakesrc.org/ | our distribution should be ignored with http://www.enderboi.com/ | extreme prejudice" - cjwatson@debian.org On Sun, 17 Aug 2003, Moritz Bunkus wrote:
Date: Sun, 17 Aug 2003 11:16:35 +0200 From: Moritz Bunkus <moritz@bunkus.org> Reply-To: MPlayer user's list. <mplayer-users@mplayerhq.hu> To: mplayer-users@mplayerhq.hu Subject: Re: [MPlayer-users] Crash playing certain MKV files
[Automatic answer: RTFM (read DOCS, FAQ), also read DOCS/bugreports.html]
Hi.
demux_mkv.cpp: In function `int demux_mkv_open(demuxer_t*)': demux_mkv.cpp:967: error: integer constant is too large for "long" type demux_mkv.cpp:979: error: integer constant is too large for "long" type
Which gcc version?
Anyway, if I reduce the MaxDataSize value to something that'll compile (0xFFFFFFFFL), it seems to work fine with all my MKVs... Thanks! :)
That won't work with files > 4GB. I'll have to find a way around that somehow *sigh*. -- ==> Ciao, Mosu (Moritz Bunkus)
Hi.
demux_mkv.cpp: In function `int demux_mkv_open(demuxer_t*)': demux_mkv.cpp:967: error: integer constant is too large for "long" type demux_mkv.cpp:979: error: integer constant is too large for "long" type
Fixed. My currently favourite compiler gcc 3.2 is pretty liberal in what it accepts - 2.95 and 3.3 aren't. Note to self: compile with other versions more often :) -- ==> Ciao, Mosu (Moritz Bunkus)
participants (2)
-
Ender -
Moritz Bunkus