mirror of
https://github.com/iluvcapra/wavinfo.git
synced 2025-12-31 08:50:41 +00:00
Twiddles
This commit is contained in:
@@ -19,23 +19,24 @@ def parse_rf64(stream, signature = b'RF64') -> RF64Context:
|
||||
assert(ds64_chunk.ident == b'ds64')
|
||||
|
||||
ds64_data = ds64_chunk.read_data(stream)
|
||||
assert(len(ds64_data) >= ds64_fields_size )
|
||||
assert(len(ds64_data) >= ds64_fields_size)
|
||||
|
||||
riff_size, data_size, sample_count, length_lookup_table = struct.unpack(
|
||||
ds64_field_spec , ds64_data[0:ds64_fields_size] )
|
||||
ds64_field_spec, ds64_data[0:ds64_fields_size])
|
||||
|
||||
bigchunk_table = {}
|
||||
chunksize64format = "<4sL"
|
||||
# chunksize64size = struct.calcsize(chunksize64format)
|
||||
|
||||
for _ in range(length_lookup_table):
|
||||
bigname, bigsize = struct.unpack_from( chunksize64format , ds64_data,
|
||||
offset= ds64_fields_size )
|
||||
bigname, bigsize = struct.unpack_from(chunksize64format, ds64_data,
|
||||
offset= ds64_fields_size)
|
||||
bigchunk_table[bigname] = bigsize
|
||||
|
||||
bigchunk_table[b'data'] = data_size
|
||||
bigchunk_table[signature] = riff_size
|
||||
|
||||
stream.seek(start, 0)
|
||||
return RF64Context( sample_count=sample_count, bigchunk_table=bigchunk_table )
|
||||
return RF64Context( sample_count=sample_count,
|
||||
bigchunk_table=bigchunk_table)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user