[MPlayer-dev-eng] [PATCH] Timestamp-based mpg seeking

Bohdan Horst nexus at irc.pl
Sat Oct 23 12:28:09 CEST 2004


On Sat, Oct 23, 2004 at 02:06:42AM +0200, Aurelien Jacobs wrote:
> On Mon, 18 Oct 2004 10:28:27 +0200
> Michael Behrisch <behrisch at informatik.hu-berlin.de> wrote:
> 
> > On Sun, Oct 17, 2004 at 06:42:00PM +0200, Aurelien Jacobs wrote:
> > > 
> > > There was a slight modifications on demux_mpg.c in cvs. Hence,
> > > your patch do not apply anymore. Could you please update it ?
> > > Then I will probably commit it in a few days if no one else do
> > > it or complain. This patch seem clean, works well and is really
> > > useful IMHO.
> > > 
> > 
> > I updated the patch and also added some modifications which 
> > improve seeking for files without valid timestamps.
> 
> Thanks, applied.
> 

doesn't help with my "Resident Evil" and "Whole Nine Yards" DVDs ..

(both report total time = 0:00:00 and seek doesn't work.. - EOF etc)



Resident Evil:

lsdvd -x
Title: 01, Length: 01:36:30 Chapters: 27, Cells: 29, Audio streams: 03, Subpictures: 01
        VTS: 01, TTN: 01, FPS: 25.00, Format: PAL, Aspect ratio: 16/9, Width: 720, Height: 576, DF:
Letterbox
        Number of Angles: 1
        Audio: 1, Language: en - English, Format: ac3, Frequency: 48000, Quantization: drc, Channels: 6, AP: 0, Content: Undefined
        Audio: 2, Language: en - English, Format: dts, Frequency: 48000, Quantization: drc, Channels: 6, AP: 0, Content: Undefined
        Audio: 3, Language: pl - Polish, Format: ac3, Frequency: 48000, Quantization: drc, Channels:6, AP: 0, Content: Undefined
        Chapter: 01, Length: 00:01:21, Start Cell: 01
        Chapter: 02, Length: 00:06:49, Start Cell: 04
        Chapter: 03, Length: 00:02:31, Start Cell: 05
        Chapter: 04, Length: 00:05:52, Start Cell: 06
        Chapter: 05, Length: 00:02:41, Start Cell: 07
        Chapter: 06, Length: 00:01:21, Start Cell: 08
        Chapter: 07, Length: 00:03:12, Start Cell: 09
        Chapter: 08, Length: 00:02:14, Start Cell: 10
        Chapter: 09, Length: 00:02:14, Start Cell: 11
        Chapter: 10, Length: 00:02:32, Start Cell: 12
        Chapter: 11, Length: 00:02:32, Start Cell: 13
        Chapter: 12, Length: 00:02:49, Start Cell: 14
        Chapter: 13, Length: 00:03:25, Start Cell: 15
        Chapter: 14, Length: 00:05:45, Start Cell: 16
        Chapter: 15, Length: 00:03:17, Start Cell: 17
        Chapter: 16, Length: 00:04:48, Start Cell: 18
        Chapter: 17, Length: 00:04:42, Start Cell: 19
        Chapter: 18, Length: 00:06:48, Start Cell: 20
        Chapter: 19, Length: 00:04:14, Start Cell: 21
        Chapter: 20, Length: 00:04:01, Start Cell: 22
        Chapter: 21, Length: 00:03:08, Start Cell: 23
        Chapter: 22, Length: 00:02:40, Start Cell: 24
        Chapter: 23, Length: 00:04:36, Start Cell: 25
        Chapter: 24, Length: 00:02:36, Start Cell: 26
        Chapter: 25, Length: 00:02:20, Start Cell: 27
        Chapter: 26, Length: 00:01:45, Start Cell: 28
        Chapter: 27, Length: 00:06:04, Start Cell: 29
        Cell: 01, Length: 00:00:00
        Cell: 02, Length: 00:00:00
        Cell: 03, Length: 00:01:21
        Cell: 04, Length: 00:06:49
        Cell: 05, Length: 00:02:31
        Cell: 06, Length: 00:05:52
        Cell: 07, Length: 00:02:41
        Cell: 08, Length: 00:01:21
        Cell: 09, Length: 00:03:12
        Cell: 10, Length: 00:02:14
        Cell: 11, Length: 00:02:14
        Cell: 12, Length: 00:02:32
        Cell: 13, Length: 00:02:32
        Cell: 14, Length: 00:02:49
        Cell: 15, Length: 00:03:25
        Cell: 16, Length: 00:05:45
        Cell: 17, Length: 00:03:17
        Cell: 18, Length: 00:04:48
        Cell: 19, Length: 00:04:42
        Cell: 20, Length: 00:06:48
        Cell: 21, Length: 00:04:14
        Cell: 22, Length: 00:04:01
        Cell: 23, Length: 00:03:08
        Cell: 24, Length: 00:02:40
        Cell: 25, Length: 00:04:36
        Cell: 26, Length: 00:02:36
        Cell: 27, Length: 00:02:20
        Cell: 28, Length: 00:01:45
        Cell: 29, Length: 00:06:04
        Subtitle: 01, Language: pl - Polish, Content: Undefined
[...]


Whole Nine Yards:

lsdvd -x
Title: 01, Length: 01:34:50 Chapters: 25, Cells: 27, Audio streams: 01, Subpictures: 01
        VTS: 01, TTN: 01, FPS: 25.00, Format: PAL, Aspect ratio: 16/9, Width: 720, Height: 576, DF:
Letterbox
        Number of Angles: 1
        Audio: 1, Language: en - English, Format: ac3, Frequency: 48000, Quantization: drc, Channels
: 6, AP: 0, Content: Undefined
        Chapter: 01, Length: 00:02:47, Start Cell: 01
        Chapter: 02, Length: 00:02:11, Start Cell: 04
        Chapter: 03, Length: 00:02:05, Start Cell: 05
        Chapter: 04, Length: 00:03:59, Start Cell: 06
        Chapter: 05, Length: 00:03:33, Start Cell: 07
        Chapter: 06, Length: 00:03:50, Start Cell: 08
        Chapter: 07, Length: 00:03:35, Start Cell: 09
        Chapter: 08, Length: 00:05:02, Start Cell: 10
        Chapter: 09, Length: 00:02:07, Start Cell: 11
        Chapter: 10, Length: 00:05:55, Start Cell: 12
        Chapter: 11, Length: 00:02:36, Start Cell: 13
        Chapter: 12, Length: 00:06:06, Start Cell: 14
        Chapter: 13, Length: 00:01:24, Start Cell: 15
        Chapter: 14, Length: 00:06:13, Start Cell: 16
        Chapter: 15, Length: 00:04:04, Start Cell: 17
        Chapter: 16, Length: 00:04:18, Start Cell: 18
        Chapter: 17, Length: 00:03:16, Start Cell: 19
        Chapter: 18, Length: 00:03:24, Start Cell: 20
        Chapter: 19, Length: 00:04:32, Start Cell: 21
        Chapter: 20, Length: 00:04:34, Start Cell: 22
        Chapter: 21, Length: 00:04:41, Start Cell: 23
        Chapter: 22, Length: 00:04:02, Start Cell: 24
        Chapter: 23, Length: 00:03:35, Start Cell: 25
        Chapter: 24, Length: 00:03:19, Start Cell: 26
        Chapter: 25, Length: 00:03:28, Start Cell: 27
        Cell: 01, Length: 00:00:00
        Cell: 02, Length: 00:00:00
        Cell: 03, Length: 00:02:47
        Cell: 04, Length: 00:02:11
        Cell: 05, Length: 00:02:05
        Cell: 06, Length: 00:03:59
        Cell: 07, Length: 00:03:33
        Cell: 08, Length: 00:03:50
        Cell: 09, Length: 00:03:35
        Cell: 10, Length: 00:05:02
        Cell: 11, Length: 00:02:07
        Cell: 12, Length: 00:05:55
        Cell: 13, Length: 00:02:36
        Cell: 14, Length: 00:06:06
        Cell: 15, Length: 00:01:24
        Cell: 16, Length: 00:06:13
        Cell: 17, Length: 00:04:04
        Cell: 18, Length: 00:04:18
        Cell: 19, Length: 00:03:16
        Cell: 20, Length: 00:03:24
        Cell: 21, Length: 00:04:32
        Cell: 22, Length: 00:04:34
        Cell: 23, Length: 00:04:41
        Cell: 24, Length: 00:04:02
        Cell: 25, Length: 00:03:35
        Cell: 26, Length: 00:03:19
        Cell: 27, Length: 00:03:28
        Subtitle: 01, Language: pl - Polish, Content: Undefined
[...]


and example seek result (with -v):

Resident Evil:

[...]
dvd_next_cell: next1=0x0
dvd_next_cell: next2=0x0
dvd_next_cell: next3=0x1
dvd_next_cell: next1=0x1
dvd_next_cell: next2=0x1
dvd_next_cell: next3=0x2
dvd_next_cell: next1=0x2
dvd_next_cell: next2=0x2
dvd_next_cell: next3=0x3
dvd_next_cell: next1=0x3
dvd_next_cell: next2=0x3
dvd_next_cell: next3=0x4
dvd_next_cell: next1=0x4
dvd_next_cell: next2=0x4
dvd_next_cell: next3=0x5
dvd_next_cell: next1=0x5
dvd_next_cell: next2=0x5
dvd_next_cell: next3=0x6
dvd_next_cell: next1=0x6
dvd_next_cell: next2=0x6
dvd_next_cell: next3=0x7
dvd_next_cell: next1=0x7
dvd_next_cell: next2=0x7
dvd_next_cell: next3=0x8
dvd_next_cell: next1=0x8
dvd_next_cell: next2=0x8
dvd_next_cell: next3=0x9
dvd_next_cell: next1=0x9
dvd_next_cell: next2=0x9
dvd_next_cell: next3=0xA
dvd_next_cell: next1=0xA
dvd_next_cell: next2=0xA
dvd_next_cell: next3=0xB
dvd_next_cell: next1=0xB
dvd_next_cell: next2=0xB
dvd_next_cell: next3=0xC
dvd_next_cell: next1=0xC
dvd_next_cell: next2=0xC
dvd_next_cell: next3=0xD
dvd_next_cell: next1=0xD
dvd_next_cell: next2=0xD
dvd_next_cell: next3=0xE
dvd_next_cell: next1=0xE
dvd_next_cell: next2=0xE
dvd_next_cell: next3=0xF
dvd_next_cell: next1=0xF
dvd_next_cell: next2=0xF
dvd_next_cell: next3=0x10
dvd_next_cell: next1=0x10
dvd_next_cell: next2=0x10
dvd_next_cell: next3=0x11
dvd_next_cell: next1=0x11
dvd_next_cell: next2=0x11
dvd_next_cell: next3=0x12
dvd_next_cell: next1=0x12
dvd_next_cell: next2=0x12
dvd_next_cell: next3=0x13
dvd_next_cell: next1=0x13
dvd_next_cell: next2=0x13
dvd_next_cell: next3=0x14
dvd_next_cell: next1=0x14
dvd_next_cell: next2=0x14
dvd_next_cell: next3=0x15
dvd_next_cell: next1=0x15
dvd_next_cell: next2=0x15
dvd_next_cell: next3=0x16
dvd_next_cell: next1=0x16
dvd_next_cell: next2=0x16
dvd_next_cell: next3=0x17
dvd_next_cell: next1=0x17
dvd_next_cell: next2=0x17
dvd_next_cell: next3=0x18
dvd_next_cell: next1=0x18
dvd_next_cell: next2=0x18
dvd_next_cell: next3=0x19
dvd_next_cell: next1=0x19
dvd_next_cell: next2=0x19
dvd_next_cell: next3=0x1A
dvd_next_cell: next1=0x1A
dvd_next_cell: next2=0x1A
dvd_next_cell: next3=0x1B
dvd_next_cell: next1=0x1B
dvd_next_cell: next2=0x1B
dvd_next_cell: next3=0x1C
dvd_next_cell: next1=0x1C
dvd_next_cell: next2=0x1C
DVD Seek! lba=0x2C8E73  cell=28  packs: 0x296DDA-0x2C3822
dvd_next_cell: next1=0x1C
dvd_next_cell: next2=0x1C
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
EOF code: 1   0,0 A-V:  0,000 ct:  0,000  17/ 17  0%  0%  0,0% 0 0 0%
1,00x

Uninit audio filters...
[libaf] Removing filter dummy
uninit audio: liba52
uninit video: mpegpes
DEMUXER: freeing demuxer at 0x8783000
DEMUXER: freeing sh_video at 0x876f500
DEMUXER: freeing sh_audio at 0x876f600
DEMUXER: freeing sh_audio at 0x876f800
DEMUXER: freeing sh_audio at 0x876f700



Whole Nine Yards

[...]
dvd_next_cell: next1=0x0  145 ct:  0,076  20/ 20  0%  0%  6,3% 0 0 11% 1,00x
dvd_next_cell: next2=0x0
dvd_next_cell: next3=0x1
dvd_next_cell: next1=0x1
dvd_next_cell: next2=0x1
dvd_next_cell: next3=0x2
dvd_next_cell: next1=0x2
dvd_next_cell: next2=0x2
dvd_next_cell: next3=0x3
dvd_next_cell: next1=0x3
dvd_next_cell: next2=0x3
dvd_next_cell: next3=0x4
dvd_next_cell: next1=0x4
dvd_next_cell: next2=0x4
dvd_next_cell: next3=0x5
dvd_next_cell: next1=0x5
dvd_next_cell: next2=0x5
dvd_next_cell: next3=0x6
dvd_next_cell: next1=0x6
dvd_next_cell: next2=0x6
dvd_next_cell: next3=0x7
dvd_next_cell: next1=0x7
dvd_next_cell: next2=0x7
dvd_next_cell: next3=0x8
dvd_next_cell: next1=0x8
dvd_next_cell: next2=0x8
dvd_next_cell: next3=0x9
dvd_next_cell: next1=0x9
dvd_next_cell: next2=0x9
dvd_next_cell: next3=0xA
dvd_next_cell: next1=0xA
dvd_next_cell: next2=0xA
dvd_next_cell: next3=0xB
dvd_next_cell: next1=0xB
dvd_next_cell: next2=0xB
dvd_next_cell: next3=0xC
dvd_next_cell: next1=0xC
dvd_next_cell: next2=0xC
dvd_next_cell: next3=0xD
dvd_next_cell: next1=0xD
dvd_next_cell: next2=0xD
dvd_next_cell: next3=0xE
dvd_next_cell: next1=0xE
dvd_next_cell: next2=0xE
dvd_next_cell: next3=0xF
dvd_next_cell: next1=0xF
dvd_next_cell: next2=0xF
dvd_next_cell: next3=0x10
dvd_next_cell: next1=0x10
dvd_next_cell: next2=0x10
dvd_next_cell: next3=0x11
dvd_next_cell: next1=0x11
dvd_next_cell: next2=0x11
dvd_next_cell: next3=0x12
dvd_next_cell: next1=0x12
dvd_next_cell: next2=0x12
dvd_next_cell: next3=0x13
dvd_next_cell: next1=0x13
dvd_next_cell: next2=0x13
dvd_next_cell: next3=0x14
dvd_next_cell: next1=0x14
dvd_next_cell: next2=0x14
dvd_next_cell: next3=0x15
dvd_next_cell: next1=0x15
dvd_next_cell: next2=0x15
dvd_next_cell: next3=0x16
dvd_next_cell: next1=0x16
dvd_next_cell: next2=0x16
dvd_next_cell: next3=0x17
dvd_next_cell: next1=0x17
dvd_next_cell: next2=0x17
dvd_next_cell: next3=0x18
dvd_next_cell: next1=0x18
dvd_next_cell: next2=0x18
dvd_next_cell: next3=0x19
dvd_next_cell: next1=0x19
dvd_next_cell: next2=0x19
dvd_next_cell: next3=0x1A
dvd_next_cell: next1=0x1A
dvd_next_cell: next2=0x1A
DVD Seek! lba=0x1CC740  cell=26  packs: 0x1B4265-0x1CA2BF
dvd_next_cell: next1=0x1A
dvd_next_cell: next2=0x1A
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: audio)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
MPEG Stream reached EOF
ds_fill_buffer: EOF reached (stream: video)
EOF code: 1   0,0 A-V:  0,000 ct:  0,000  20/ 20  0%  0%  0,0% 0 0 0%
1,00x

Uninit audio filters...
[libaf] Removing filter dummy
uninit audio: liba52
uninit video: mpegpes
DEMUXER: freeing demuxer at 0x8780000
DEMUXER: freeing sh_video at 0x876c600
DEMUXER: freeing sh_audio at 0x876c800





regards

-- 
Bohdan 'Nexus' Horst




More information about the MPlayer-dev-eng mailing list