extractstream update/test

Dale Reed daler at n...
Mon, 29 Oct 2001 02:28:46 -0800


Ok, I haven't done a lot of testing on this, but here is my
first attempt at an update to ES that includes something
"useful". I added two options to ES. The first is -t,
which is strictly a "test" that go through all the motions, but
never writes anythign out. The second is -f, which skips the
first and last blocks of a sector map. See below for why you'd
want to do this.

Now, I pulled parse_chunk from SplitStream and threw it into
ES. Then I moded parse_chunk to not include bad chunks.
What I found was below. The first extraction was without the
skip flag, the second included it. I prettied up the output
by adding linefeeds to it, BTW.

I'm trying to pinpoint errors in the extraction to the specific
places to where they are extracted from. Mainly looking for boundary
types of things right now, to see if there could be an offset
issue.

You can get this modded extractstream from:

http://www.ntworld.com/tivo/es3

(and yes, there is source up there as well...). So far I pulled
a couple of shows off, used splitstream on them, and the audio and
video look good. One did have a bad.ty, though. Still more work
to go...

> bash-2.02# ./es3 -t 976702 976703 976704
> 
> Attempting to locate tyStream with fsid 976702...
> ...tyStream located, sector map follows:
> 
> Start End Length
> 00280000 00300000 00080000
> 03123400 031a3400 00080000
> 
> Block: 280000 Count: 524288 Total blocks 2
> /dev/hda10 has 0x00100000 sectors 0x00000000-0x00100000
> /dev/hda11 has 0x017a1400 sectors 0x00100000-0x018a1400
> 
> Playing block 00280000
> Bad chunk (header?) 0, skipping


It seems the first chunk is always bad.


> Playing block 00300000
> Bad chunk (header?) 524288, skipping


This is also interesting. If you look at the above modded
debug, you'll see 00300000 is the last block of this sector map/group.
You'll see a pattern below:

> Block: 3123400 Count: 524288 Total blocks 2
> 
> /dev/hda12 has 0x00002000 sectors 0x00000000-0x00002000
> /dev/hda13 has 0x01fb8900 sectors 0x00002000-0x01fba900
> Playing block 031a3400
> Bad chunk (header?) 524288, skipping


Looking at the start/end map above, 031a3400 is the first
chunk of this sector map/group. However, no error here
on 031a3400, the end...


> Attempting to locate tyStream with fsid 976703...
> ...tyStream located, sector map follows:
> 
> Start End Length
> 00900000 00a00000 00100000
> 
> Block: 900000 Count: 1048576 Total blocks 1
> Playing block 00900000
> Bad chunk (header?) 0, skipping
> Playing block 00a00000
> Bad chunk (header?) 1048576, skipping


Errors on both start and end chunks...


> Attempting to locate tyStream with fsid 976704...
> ...tyStream located, sector map follows:
> 
> Start End Length
> 01680000 016c0000 00040000
> 016c0000 016e0000 00020000
> 
> Block: 1680000 Count: 262144 Total blocks 2
> Playing block 01680000
> Bad chunk (header?) 0, skipping
> Block: 16c0000 Count: 131072 Total blocks 2
> Playing block 016e0000


Errors on start chunk, but not the other ones. Wierd...

The below is not including the first/last chunks with -f.
Not sure where the audio failure comes into play.


> ------------------------------------------------------
> 
> bash-2.02# ./es3 -t -f 976702 976703 976704
> 
> Attempting to locate tyStream with fsid 976702...
> ...tyStream located, sector map follows:
> 
> Start End Length
> 00280000 00300000 00080000
> 03123400 031a3400 00080000
> 
> Block: 280000 Count: 524288 Total blocks 2
> /dev/hda10 has 0x00100000 sectors 0x00000000-0x00100000
> /dev/hda11 has 0x017a1400 sectors 0x00100000-0x018a1400
> Block: 3123400 Count: 524288 Total blocks 2
> 
> /dev/hda12 has 0x00002000 sectors 0x00000000-0x00002000
> /dev/hda13 has 0x01fb8900 sectors 0x00002000-0x01fba900
> Playing block 03123500
> 
> audio failure 0:0x2b4 0x9f:0x77:0x3e chunk 256
> 
> Playing block 031a3300
> 
> Attempting to locate tyStream with fsid 976703...
> ...tyStream located, sector map follows:
> 
> Start End Length
> 00900000 00a00000 00100000
> 
> Block: 900000 Count: 1048576 Total blocks 1
> Playing block 009fff00
> 
> Attempting to locate tyStream with fsid 976704...
> ...tyStream located, sector map follows:
> 
> Start End Length
> 01680000 016c0000 00040000
> 016c0000 016e0000 00020000
> 
> Block: 1680000 Count: 262144 Total blocks 2
> Block: 16c0000 Count: 131072 Total blocks 2
> Playing block 016dff00



-- 
Dale

-> Philips SA Tivo 2.0.1, tivonet, tivomad 14gb->30gb (single)