Mercurial > hg > audiodb
comparison audioDB.h @ 128:f789aa32382f
Variable-size databases, step 1: introduce dbSize field into the
database header.
(Preserve backward-compatibility by assuming that dbSize == 0 implies
dbSize = O2_DEFAULTDBSIZE)
author | mas01cr |
---|---|
date | Fri, 19 Oct 2007 13:51:53 +0000 |
parents | fce73e4afa15 |
children | f7eba8eb272c |
comparison
equal
deleted
inserted
replaced
127:6fafccfe7c05 | 128:f789aa32382f |
---|---|
94 // FIXME: these lengths and offsets should be size_t or off_t, but | 94 // FIXME: these lengths and offsets should be size_t or off_t, but |
95 // that causes this header (and hence audioDB files) to be | 95 // that causes this header (and hence audioDB files) to be |
96 // unportable between 32 and 64-bit architectures. Making them | 96 // unportable between 32 and 64-bit architectures. Making them |
97 // uint32_t isn't the real answer, as it means we won't be able to | 97 // uint32_t isn't the real answer, as it means we won't be able to |
98 // scale to really large collections easily but it works around the | 98 // scale to really large collections easily but it works around the |
99 // problem. -- CSR, 2007-10-05 | 99 // problem. Expanding to 64 bits will of course need a change in |
100 // file format version. -- CSR, 2007-10-05 | |
100 uint32_t length; | 101 uint32_t length; |
101 uint32_t fileTableOffset; | 102 uint32_t fileTableOffset; |
102 uint32_t trackTableOffset; | 103 uint32_t trackTableOffset; |
103 uint32_t dataOffset; | 104 uint32_t dataOffset; |
104 uint32_t l2normTableOffset; | 105 uint32_t l2normTableOffset; |
105 uint32_t timesTableOffset; | 106 uint32_t timesTableOffset; |
107 uint32_t dbSize; | |
106 } dbTableHeaderT, *dbTableHeaderPtr; | 108 } dbTableHeaderT, *dbTableHeaderPtr; |
107 | 109 |
108 | 110 |
109 class audioDB{ | 111 class audioDB{ |
110 | 112 |