[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