forked from len0rd/rockbox
Fixed MP3 forward seeking.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6679 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
parent
7527bfb4d6
commit
a380d90b98
2 changed files with 3 additions and 4 deletions
|
@ -137,7 +137,6 @@ struct track_info {
|
||||||
volatile int available;
|
volatile int available;
|
||||||
bool taginfo_ready;
|
bool taginfo_ready;
|
||||||
int playlist_offset;
|
int playlist_offset;
|
||||||
int elapsed_start;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Track information (count in file buffer, read/write indexes for
|
/* Track information (count in file buffer, read/write indexes for
|
||||||
|
@ -201,7 +200,6 @@ void codec_set_elapsed_callback(unsigned int value)
|
||||||
#else
|
#else
|
||||||
latency = 0;
|
latency = 0;
|
||||||
#endif
|
#endif
|
||||||
value += cur_ti->elapsed_start;
|
|
||||||
if (value < latency) {
|
if (value < latency) {
|
||||||
cur_ti->id3.elapsed = 0;
|
cur_ti->id3.elapsed = 0;
|
||||||
} else if (value - latency > cur_ti->id3.elapsed
|
} else if (value - latency > cur_ti->id3.elapsed
|
||||||
|
@ -673,7 +671,6 @@ bool audio_load_track(int offset, bool start_play, int peek_offset)
|
||||||
lseek(fd, offset, SEEK_SET);
|
lseek(fd, offset, SEEK_SET);
|
||||||
tracks[track_widx].id3.offset = offset;
|
tracks[track_widx].id3.offset = offset;
|
||||||
mp3_set_elapsed(&tracks[track_widx].id3);
|
mp3_set_elapsed(&tracks[track_widx].id3);
|
||||||
tracks[track_widx].elapsed_start = tracks[track_widx].id3.elapsed;
|
|
||||||
tracks[track_widx].filepos = offset;
|
tracks[track_widx].filepos = offset;
|
||||||
tracks[track_widx].filerem = tracks[track_widx].filesize - offset;
|
tracks[track_widx].filerem = tracks[track_widx].filesize - offset;
|
||||||
ci.curpos = offset;
|
ci.curpos = offset;
|
||||||
|
@ -1038,6 +1035,8 @@ void audio_update_trackinfo(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
ci.filesize = cur_ti->filesize;
|
ci.filesize = cur_ti->filesize;
|
||||||
|
cur_ti->id3.elapsed = 0;
|
||||||
|
cur_ti->id3.offset = 0;
|
||||||
ci.id3 = (struct mp3entry *)&cur_ti->id3;
|
ci.id3 = (struct mp3entry *)&cur_ti->id3;
|
||||||
ci.mp3data = (struct mp3info *)&cur_ti->mp3data;
|
ci.mp3data = (struct mp3info *)&cur_ti->mp3data;
|
||||||
ci.curpos = 0;
|
ci.curpos = 0;
|
||||||
|
|
|
@ -244,7 +244,6 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parm)
|
||||||
first = false;
|
first = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
samplesdone = 0;
|
|
||||||
first_frame = false;
|
first_frame = false;
|
||||||
file_end = 0;
|
file_end = 0;
|
||||||
OutputPtr = OutputBuffer;
|
OutputPtr = OutputBuffer;
|
||||||
|
@ -257,6 +256,7 @@ enum plugin_status plugin_start(struct plugin_api* api, void* parm)
|
||||||
ci->advance_buffer(size);
|
ci->advance_buffer(size);
|
||||||
|
|
||||||
samplecount = ci->id3->length * (ci->id3->frequency / 100) / 10;
|
samplecount = ci->id3->length * (ci->id3->frequency / 100) / 10;
|
||||||
|
samplesdone = ci->id3->elapsed * (ci->id3->frequency / 100) / 10;
|
||||||
/* rb->snprintf(buf2, sizeof(buf2), "sc: %d", samplecount);
|
/* rb->snprintf(buf2, sizeof(buf2), "sc: %d", samplecount);
|
||||||
rb->splash(0, true, buf2);
|
rb->splash(0, true, buf2);
|
||||||
rb->snprintf(buf2, sizeof(buf2), "length: %d", ci->id3->length);
|
rb->snprintf(buf2, sizeof(buf2), "length: %d", ci->id3->length);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue