Opened 12 years ago

Last modified 12 years ago

#793 new defect

Error playing DVD titles which start at position over 2GB

Reported by: vklimk@… Owned by: reimar
Priority: important Component: core
Version: 1.0rc1 Severity: blocker
Keywords: Cc:
Blocked By: Blocking:
Reproduced by developer: Analyzed by developer:



This bug affects mplayer and mencoder.
How to reproduce it:

  • You need to have dvd with multiple chapters. One (or many) of them have to start at position over 2GB.
  • Start to play/grab such title (mplayer dvd://18 -dvd-device u:)
  • Playing will start in some minutes only and not from the beginning of the title

When I tried to find out the reason of this error I enabled verbose output (-v -v -v) and compare output for good case (title starts under 2GB) and for bad one
(title started over 2GB). Look at it, please:

< DVD start cell: 0 pack: 0xF6A4E-0xFBDDE
< DVD start=1010254 end=1073997
< STREAM: [null] dvd://17

DVD start cell: 0 pack: 0x10634E-0x10A7D4
DVD start=1073998 end=1138757
STREAM: [null] dvd://18

< s->pos=0 newpos=7B527000 new_bufpos=7B527000 buflen=0
< DVD Seek! lba=0xF6A4E cell=0 packs: 0xF6A4E-0xFBDDE

s->pos=0 newpos=FFFFFFFF831A7000 new_bufpos=FFFFFFFF831A7000 buflen=0
DVD Seek! lba=0xFFF0634E cell=0 packs: 0x10634E-0x10A7D4
Found NAVI packet! lba=0x0 len=47

### CELL 0: Navi: 1/1 IFO: 1/18

Found NAVI packet! lba=0x30 len=19

### CELL 0: Navi: 1/1 IFO: 1/18

Found NAVI packet! lba=0x44 len=34

You can see that for bad case there if integer overflow somewhere:

newpos=FFFFFFFF831A7000 new_bufpos=FFFFFFFF831A7000

Hope this information will help you to debug and fix this error. I can send full output if you need it.


Change History (2)

comment:1 Changed 12 years ago by zuxy.meng@…

Possibly caused by miscompilation which lacks large file support?

comment:2 Changed 12 years ago by vklimk@…

I use mplayer and mencoder compiled for windows (version 1.0rc1). I downloaded it from official mplayer site.
It will be great if you fix this issue.


Note: See TracTickets for help on using tickets.