summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Low <lostlogic@rockbox.org>2007-11-05 16:02:12 +0000
committerBrandon Low <lostlogic@rockbox.org>2007-11-05 16:02:12 +0000
commit1df1e7b0c7f1932f45cfb189b43e873db1a85410 (patch)
treeedf57cc1bd9f3f7ba68b48c703f832798f16f122
parent2d95fd524db6de67e91024ee4d947a4ee25c43b6 (diff)
downloadrockbox-1df1e7b0c7f1932f45cfb189b43e873db1a85410.zip
rockbox-1df1e7b0c7f1932f45cfb189b43e873db1a85410.tar.gz
rockbox-1df1e7b0c7f1932f45cfb189b43e873db1a85410.tar.bz2
rockbox-1df1e7b0c7f1932f45cfb189b43e873db1a85410.tar.xz
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
-rw-r--r--apps/buffering.c12
-rw-r--r--apps/buffering.h1
-rw-r--r--apps/codecs/mpc.c1
-rw-r--r--apps/dsp.h1
-rw-r--r--apps/playback.c11
5 files changed, 5 insertions, 21 deletions
diff --git a/apps/buffering.c b/apps/buffering.c
index e448e42..811c1e5 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 e6b99d3..139dea7 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 8143e04..4db8a18 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 4e57adf..fffcba2 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 650a69b..b31db80 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);