[MPlayer-dev-eng] VobSub subtitles

Attila Kinali kinali at gmx.net
Sat Jan 12 11:30:24 CET 2002


On Fri, 11 Jan 2002 12:15:41 +0100
Kim Minh Kaplan <kaplan at kim-minh.com> wrote:


> Does it still segfault with latest vobsub.c (1.2) ?

Nope, doesnt anymore, but now it segfaults while seeking (see below)

> >
> > note: .ifo is missing! (dunno if it's really needed or wheter this is
> > another format)
> 
> Yes, the IFO is needed: it contains the palette that is to be used, as
> well as the screen format (which could be read from the IDX).

Ie it cant run w/o .ifo ? Or would it be possible with only the idx ?
(sorry, dont know anything about vobsub)

---schnipp---
GNU gdb 5.1
Copyright 2001 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 "i386-linux"...
(gdb) run -v  -vo xmga -vobsub Saber\ Marionette\ J\ -\ 04 -vobsubid 0 Saber\ Ma 
rionette\ J\ -\ 04.avi
Starting program: /home/attila/src/mplayer/main/mplayer -v  -vo xmga -vobsub Saber\ Marionette\ J\ -\ 04 -vobsubid 0 Saber\ Marionette\ J\ -\ 04.avi


MPlayer CVS-020112-10:39-2.95.4 (C) 2000-2002 Arpad Gereoffy (see DOCS!)

CPU vendor name: GenuineIntel  max cpuid level: 2
CPU: Intel Celeron Covington/Pentium II Deschutes,Tonga/Pentium II Xeon (Type: 6, Stepping: 2)
CPUflags: Type: 6 MMX: 1 MMX2: 0 3DNow: 0 3DNow2: 0 SSE: 0 SSE2: 0
Compiled for x86 CPU with features: MMX
Reading /home/attila/.mplayer/codecs.conf: 26 audio & 70 video codecs
CommandLine: '-v' '-vo' 'xmga' '-vobsub' 'Saber Marionette J - 04' '-vobsubid' '0' 'Saber Marionette J - 04.avi'
num_filenames: 1
Font /home/attila/.mplayer/font/font.desc loaded successfully! (140 chars)
Using usleep() timing
Playing Saber Marionette J - 04.avi
*** free_stream() called ***
Not an URL!
Detected AVI file format!
======= AVI Header =======
us/frame: 41709  (fps=23.976)
max bytes/sec: 0
padding: 0
MainAVIHeader.dwFlags: (272) HAS_INDEX IS_INTERLEAVED
frames  total: 34021   initial: 0
streams: 2
Suggested BufferSize: 0
Size:  448 x 336
======= STREAM Header =======
Type: vids   FCC: mp43 (3334706D)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 0
Rate: 1000000/41709 = 23.976
Start: 0   Len: 34021
Suggested BufferSize: 36774
Quality 10000
Sample size: 0
======= VIDEO Format ======
  biSize 40
  biWidth 448
  biHeight 336
  biPlanes 1
  biBitCount 24
  biCompression 859066445='MP43'
  biSizeImage 451584
===========================
======= STREAM Header =======
Type: auds   FCC:  (0)
Flags: 0
Priority: 0   Language: 0
InitialFrames: 1
Rate: 8010/372 = 21.532
Start: 0   Len: 30553
Suggested BufferSize: 2232
Quality -1
Sample size: 372
======= WAVE Format =======
Format Tag: 353 (0x161)
Channels: 2
Samplerate: 44100
avg byte/sec: 8010
Block align: 372
bits/sample: 16
cbSize: 10
VIDEO:  [MP43]  448x336  24bpp  23.98 fps  742.1 kbps (90.6 kbyte/s)
[V] filefmt:3  fourcc:0x3334504D  size:448x336  fps:23.98  ftime:=0.0417
SUB: Detected sub file: Saber Marionette J - 04.sub
SUB: Could not determine file format
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Has this to be like this (remember, i dont have an ifo) ? 
# I guess yes.

Detected audio codec: [divx] drv:4 (DivX audio (WMA))
Input format:
  wFormatTag 353
  nChannels 2
  nSamplesPerSec 44100
  nAvgBytesPerSec 8010
  nBlockAlign 372
  wBitsPerSample 16
  cbSize 10
Output fmt:
  wFormatTag 1
  nChannels 2
  nSamplesPerSec 44100
  nAvgBytesPerSec 176400
  nBlockAlign 4
  wBitsPerSample 16
  cbSize 0
fs seg 0x40018000
Loading DLL: 'divxa32.acm'
AUDIO: srate=44100  chans=2  bps=2  sfmt=0x10  ratio: 8010->176400
Detected video codec: [divxds] drv:4 prio:0 (DivX ;-) (MS MPEG-4 v3))
Loading DLL: 'divx_c32.ax'
Using DirectShow codec: divx_c32.ax
Decoder is capable of YUV output ( flags 0x1f)
Movie-Aspect is undefined - no prescaling applied.
VO: [xmga] 448x336 => 448x336 Packed YUY2 
vo: X11 color mask:  FFFFFF  (R:FF0000 G:FF00 B:FF)
vo: X11 running at 800x600 with depth 24 and 32 bits/pixel (":0.0" => local display)
AO: [oss] 44100Hz Stereo Signed 16-bit (Little-Endian)
ao2: 44100 Hz  2 chans  Signed 16-bit (Little-Endian)
audio_setup: using '/dev/dsp' dsp device
Can't open audio device /dev/dsp  -> nosound
Audio: no sound!!!
Start playing...
Using MMX Optimized OnScreenDisplay
[...]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 23241)]
spudec_assemble (this=0x0, packet=0x8395530 "\005t\005U", len=1396, 
    pts100=1151) at spudec.c:289
289	  if (spu->packet_offset == 0) {
(gdb) print spu
(gdb) print this
$1 = (void *) 0x0
(gdb) bt
#0  spudec_assemble (this=0x0, packet=0x8395530 "\005t\005U", len=1396, 
    pts100=1151) at spudec.c:289
#1  0x08069498 in vobsub_process (vobhandle=0x81cd5f0, pts=67.7354126)
    at vobsub.c:764
#2  0x08053074 in main (argc=9, argv=0xbffff804, envp=0xbffff82c)
    at mplayer.c:2320
#3  0x403d765f in __libc_start_main () from /lib/libc.so.6

---schnapp---

Looks like a missing check if vob->spudec !=0 in vobsub.c

Btw: can someone tell me why gdb cant find "spu" above, but "this" ?

			Attila Kinali
-- 
I am a moslem, i am a terrorist.



More information about the MPlayer-dev-eng mailing list