From 894e52a7aaa2c7ea82b583d5e11609ae76272893 Mon Sep 17 00:00:00 2001 From: Buschel Date: Sun, 13 Mar 2011 19:59:27 +0000 Subject: [PATCH] Add up skipped bytes when parsing for valid MPEG headers. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29583 a1c6a512-1295-4272-9138-f99709370657 --- apps/mp3data.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/apps/mp3data.c b/apps/mp3data.c index 35b4608396..bb42c94fc6 100644 --- a/apps/mp3data.c +++ b/apps/mp3data.c @@ -448,12 +448,16 @@ static void get_vbri_info(struct mp3info *info, unsigned char *buf) /* Seek to next mpeg header and extract relevant information. */ static int get_next_header_info(int fd, long *bytecount, struct mp3info *info) { - unsigned long header = find_next_frame(fd, bytecount, 0x20000, 0); + long tmp; + unsigned long header = find_next_frame(fd, &tmp, 0x20000, 0); if(header == 0) return -1; if(!mp3headerinfo(info, header)) return -2; + + /* Next header is tmp bytes away. */ + *bytecount += tmp; return 0; } @@ -461,7 +465,7 @@ static int get_next_header_info(int fd, long *bytecount, struct mp3info *info) int get_mp3file_info(int fd, struct mp3info *info) { unsigned char frame[1800], *vbrheader; - long bytecount; + long bytecount = 0; int result; /* Initialize info and frame */ -- 2.11.4.GIT