From 1df1e7b0c7f1932f45cfb189b43e873db1a85410 Mon Sep 17 00:00:00 2001 From: Brandon Low Date: Mon, 5 Nov 2007 16:02:12 +0000 Subject: Remove unused conf_preseek from buffering.c and all of its accountraments. This is _not_ a setting. This is a guessing tool used by either playback or buffering to serve its clients better. Use the REBUFFER_GUESS size in resume to help obviate pondlife's bug. This will also need to be used when FS8092 gets fixed correctly with a complete rebuffer for backward movements. It may also belong in buffering not playback, haven't decided for sure git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15475 a1c6a512-1295-4272-9138-f99709370657 --- apps/buffering.c | 12 ------------ apps/buffering.h | 1 - apps/codecs/mpc.c | 1 - apps/dsp.h | 1 - apps/playback.c | 11 +++++------ 5 files changed, 5 insertions(+), 21 deletions(-) diff --git a/apps/buffering.c b/apps/buffering.c index e448e4238f..811c1e5d65 100644 --- a/apps/buffering.c +++ b/apps/buffering.c @@ -135,8 +135,6 @@ static volatile size_t buf_ridx; /* current reading position */ static size_t conf_watermark = 0; /* Level to trigger filebuf fill */ static size_t conf_filechunk = 0; /* Bytes-per-read for buffering (impacts responsiveness of buffering thread) */ -static size_t conf_preseek = 0; /* Distance a codec may look backwards after - seeking, to prevent double rebuffers */ #if MEM > 8 static size_t high_watermark = 0; /* High watermark for rebuffer */ #endif @@ -178,7 +176,6 @@ enum { /* Configuration: */ Q_SET_WATERMARK, Q_SET_CHUNKSIZE, - Q_SET_PRESEEK, Q_FILL_BUFFER, /* Request that the buffering thread initiate a buffer fill at its earliest convenience */ }; @@ -1117,10 +1114,6 @@ void buf_set_conf(int setting, size_t value) msg = Q_SET_CHUNKSIZE; break; - case BUFFERING_SET_PRESEEK: - msg = Q_SET_PRESEEK; - break; - default: return; } @@ -1254,11 +1247,6 @@ void buffering_thread(void) } break; - case Q_SET_PRESEEK: - LOGFQUEUE("buffering < Q_SET_PRESEEK"); - conf_preseek = (size_t)ev.data; - break; - #ifndef SIMULATOR case SYS_USB_CONNECTED: LOGFQUEUE("buffering < SYS_USB_CONNECTED"); diff --git a/apps/buffering.h b/apps/buffering.h index e6b99d3cf7..139dea7509 100644 --- a/apps/buffering.h +++ b/apps/buffering.h @@ -116,7 +116,6 @@ void unregister_buffer_low_callback(buffer_low_callback func); enum { BUFFERING_SET_WATERMARK = 1, BUFFERING_SET_CHUNKSIZE, - BUFFERING_SET_PRESEEK, }; void buf_set_conf(int setting, size_t value); diff --git a/apps/codecs/mpc.c b/apps/codecs/mpc.c index 8143e04f71..4db8a186a2 100644 --- a/apps/codecs/mpc.c +++ b/apps/codecs/mpc.c @@ -79,7 +79,6 @@ enum codec_status codec_main(void) ci->configure(DSP_SET_SAMPLE_DEPTH, 28); ci->configure(CODEC_SET_FILEBUF_CHUNKSIZE, 1024*16); - ci->configure(CODEC_SET_FILEBUF_PRESEEK, 0); /* Create a decoder instance */ reader.read = read_impl; diff --git a/apps/dsp.h b/apps/dsp.h index 4e57adfc12..fffcba20e1 100644 --- a/apps/dsp.h +++ b/apps/dsp.h @@ -36,7 +36,6 @@ enum { CODEC_SET_FILEBUF_WATERMARK = 1, CODEC_SET_FILEBUF_CHUNKSIZE, - CODEC_SET_FILEBUF_PRESEEK, DSP_SWITCH_CODEC, DSP_SET_FREQUENCY, DSP_SWITCH_FREQUENCY, diff --git a/apps/playback.c b/apps/playback.c index 650a69bbed..b31db800ad 100644 --- a/apps/playback.c +++ b/apps/playback.c @@ -1663,10 +1663,6 @@ static void codec_configure_callback(int setting, intptr_t value) buf_set_conf(BUFFERING_SET_CHUNKSIZE, value); break; - case CODEC_SET_FILEBUF_PRESEEK: - buf_set_conf(BUFFERING_SET_PRESEEK, value); - break; - default: if (!dsp_configure(setting, value)) { logf("Illegal key:%d", setting); } } @@ -2295,7 +2291,6 @@ static bool audio_load_track(int offset, bool start_play) set_current_codec(CODEC_IDX_AUDIO); buf_set_conf(BUFFERING_SET_WATERMARK, AUDIO_DEFAULT_WATERMARK); buf_set_conf(BUFFERING_SET_CHUNKSIZE, AUDIO_DEFAULT_FILECHUNK); - buf_set_conf(BUFFERING_SET_PRESEEK, AUDIO_REBUFFER_GUESS_SIZE); dsp_configure(DSP_RESET, 0); set_current_codec(last_codec); @@ -2441,8 +2436,12 @@ static bool audio_load_track(int offset, bool start_play) logf("alt:%s", trackname); - if (!file_offset && track_id3->first_frame_offset) + if (file_offset > AUDIO_REBUFFER_GUESS_SIZE) + file_offset -= AUDIO_REBUFFER_GUESS_SIZE; + else if (track_id3->first_frame_offset) file_offset = track_id3->first_frame_offset; + else + file_offset = 0; tracks[track_widx].audio_hid = bufopen(trackname, file_offset, type); -- cgit v1.2.3