summaryrefslogtreecommitdiff
path: root/apps/codecs/libwavpack/wputils.c
diff options
context:
space:
mode:
authorDave Bryant <bryant@rockbox.org>2006-04-22 20:30:01 +0000
committerDave Bryant <bryant@rockbox.org>2006-04-22 20:30:01 +0000
commitdc232f56b88578c2145bb57683d8bd264c216ca6 (patch)
tree8a28aad2b89f3492cd7fffcc74724de9f7f9c1d6 /apps/codecs/libwavpack/wputils.c
parent762ee1f7a348016dab525e35a5b73b4068476cd4 (diff)
downloadrockbox-dc232f56b88578c2145bb57683d8bd264c216ca6.zip
rockbox-dc232f56b88578c2145bb57683d8bd264c216ca6.tar.gz
rockbox-dc232f56b88578c2145bb57683d8bd264c216ca6.tar.bz2
rockbox-dc232f56b88578c2145bb57683d8bd264c216ca6.tar.xz
Update libwavpack to the latest stream specification
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9763 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/codecs/libwavpack/wputils.c')
-rw-r--r--apps/codecs/libwavpack/wputils.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/apps/codecs/libwavpack/wputils.c b/apps/codecs/libwavpack/wputils.c
index 7a6cc44..7fabc7a 100644
--- a/apps/codecs/libwavpack/wputils.c
+++ b/apps/codecs/libwavpack/wputils.c
@@ -69,9 +69,10 @@ WavpackContext *WavpackOpenFileInput (read_stream infile, char *error)
return NULL;
}
- if ((wps->wphdr.flags & UNKNOWN_FLAGS) || wps->wphdr.version < 0x402 || wps->wphdr.version > 0x40f) {
- strcpy_loc (error, "invalid WavPack file!");
- return NULL;
+ if ((wps->wphdr.flags & UNKNOWN_FLAGS) || wps->wphdr.version < MIN_STREAM_VERS ||
+ wps->wphdr.version > MAX_STREAM_VERS) {
+ strcpy_loc (error, "invalid WavPack file!");
+ return NULL;
}
if (wps->wphdr.block_samples && wps->wphdr.total_samples != (uint32_t) -1)
@@ -170,7 +171,7 @@ uint32_t WavpackUnpackSamples (WavpackContext *wpc, int32_t *buffer, uint32_t sa
if (bcount == (uint32_t) -1)
break;
- if (wps->wphdr.version < 0x402 || wps->wphdr.version > 0x40f) {
+ if (wps->wphdr.version < MIN_STREAM_VERS || wps->wphdr.version > MAX_STREAM_VERS) {
strcpy_loc (wpc->error_message, "invalid WavPack file!");
break;
}
@@ -341,7 +342,8 @@ static uint32_t read_next_header (read_stream infile, WavpackHeader *wphdr)
sp = buffer;
if (*sp++ == 'w' && *sp == 'v' && *++sp == 'p' && *++sp == 'k' &&
- !(*++sp & 1) && sp [2] < 16 && !sp [3] && sp [5] == 4 && sp [4] >= 2 && sp [4] <= 0xf) {
+ !(*++sp & 1) && sp [2] < 16 && !sp [3] && sp [5] == 4 &&
+ sp [4] >= (MIN_STREAM_VERS & 0xff) && sp [4] <= (MAX_STREAM_VERS & 0xff)) {
memcpy (wphdr, buffer, sizeof (*wphdr));
little_endian_to_native (wphdr, WavpackHeaderFormat);
return bytes_skipped;
@@ -452,7 +454,7 @@ int WavpackSetConfiguration (WavpackContext *wpc, WavpackConfig *config, uint32_
memcpy (wps->wphdr.ckID, "wvpk", 4);
wps->wphdr.ckSize = sizeof (WavpackHeader) - 8;
wps->wphdr.total_samples = wpc->total_samples;
- wps->wphdr.version = 0x403;
+ wps->wphdr.version = CUR_STREAM_VERS;
wps->wphdr.flags = flags;
pack_init (wpc);