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.tar.gz
rockbox-1df1e7b0c7f1932f45cfb189b43e873db1a85410.zip
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 e448e4238f..811c1e5d65 100644
--- a/apps/buffering.c
+++ b/apps/buffering.c
@@ -135,8 +135,6 @@ static volatile size_t buf_ridx; /* current reading position */
135static size_t conf_watermark = 0; /* Level to trigger filebuf fill */ 135static size_t conf_watermark = 0; /* Level to trigger filebuf fill */
136static size_t conf_filechunk = 0; /* Bytes-per-read for buffering (impacts 136static size_t conf_filechunk = 0; /* Bytes-per-read for buffering (impacts
137 responsiveness of buffering thread) */ 137 responsiveness of buffering thread) */
138static size_t conf_preseek = 0; /* Distance a codec may look backwards after
139 seeking, to prevent double rebuffers */
140#if MEM > 8 138#if MEM > 8
141static size_t high_watermark = 0; /* High watermark for rebuffer */ 139static size_t high_watermark = 0; /* High watermark for rebuffer */
142#endif 140#endif
@@ -178,7 +176,6 @@ enum {
178 /* Configuration: */ 176 /* Configuration: */
179 Q_SET_WATERMARK, 177 Q_SET_WATERMARK,
180 Q_SET_CHUNKSIZE, 178 Q_SET_CHUNKSIZE,
181 Q_SET_PRESEEK,
182 Q_FILL_BUFFER, /* Request that the buffering thread initiate a buffer 179 Q_FILL_BUFFER, /* Request that the buffering thread initiate a buffer
183 fill at its earliest convenience */ 180 fill at its earliest convenience */
184}; 181};
@@ -1117,10 +1114,6 @@ void buf_set_conf(int setting, size_t value)
1117 msg = Q_SET_CHUNKSIZE; 1114 msg = Q_SET_CHUNKSIZE;
1118 break; 1115 break;
1119 1116
1120 case BUFFERING_SET_PRESEEK:
1121 msg = Q_SET_PRESEEK;
1122 break;
1123
1124 default: 1117 default:
1125 return; 1118 return;
1126 } 1119 }
@@ -1254,11 +1247,6 @@ void buffering_thread(void)
1254 } 1247 }
1255 break; 1248 break;
1256 1249
1257 case Q_SET_PRESEEK:
1258 LOGFQUEUE("buffering < Q_SET_PRESEEK");
1259 conf_preseek = (size_t)ev.data;
1260 break;
1261
1262#ifndef SIMULATOR 1250#ifndef SIMULATOR
1263 case SYS_USB_CONNECTED: 1251 case SYS_USB_CONNECTED:
1264 LOGFQUEUE("buffering < SYS_USB_CONNECTED"); 1252 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);
116enum { 116enum {
117 BUFFERING_SET_WATERMARK = 1, 117 BUFFERING_SET_WATERMARK = 1,
118 BUFFERING_SET_CHUNKSIZE, 118 BUFFERING_SET_CHUNKSIZE,
119 BUFFERING_SET_PRESEEK,
120}; 119};
121void buf_set_conf(int setting, size_t value); 120void buf_set_conf(int setting, size_t value);
122 121
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)
79 79
80 ci->configure(DSP_SET_SAMPLE_DEPTH, 28); 80 ci->configure(DSP_SET_SAMPLE_DEPTH, 28);
81 ci->configure(CODEC_SET_FILEBUF_CHUNKSIZE, 1024*16); 81 ci->configure(CODEC_SET_FILEBUF_CHUNKSIZE, 1024*16);
82 ci->configure(CODEC_SET_FILEBUF_PRESEEK, 0);
83 82
84 /* Create a decoder instance */ 83 /* Create a decoder instance */
85 reader.read = read_impl; 84 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
36{ 36{
37 CODEC_SET_FILEBUF_WATERMARK = 1, 37 CODEC_SET_FILEBUF_WATERMARK = 1,
38 CODEC_SET_FILEBUF_CHUNKSIZE, 38 CODEC_SET_FILEBUF_CHUNKSIZE,
39 CODEC_SET_FILEBUF_PRESEEK,
40 DSP_SWITCH_CODEC, 39 DSP_SWITCH_CODEC,
41 DSP_SET_FREQUENCY, 40 DSP_SET_FREQUENCY,
42 DSP_SWITCH_FREQUENCY, 41 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)
1663 buf_set_conf(BUFFERING_SET_CHUNKSIZE, value); 1663 buf_set_conf(BUFFERING_SET_CHUNKSIZE, value);
1664 break; 1664 break;
1665 1665
1666 case CODEC_SET_FILEBUF_PRESEEK:
1667 buf_set_conf(BUFFERING_SET_PRESEEK, value);
1668 break;
1669
1670 default: 1666 default:
1671 if (!dsp_configure(setting, value)) { logf("Illegal key:%d", setting); } 1667 if (!dsp_configure(setting, value)) { logf("Illegal key:%d", setting); }
1672 } 1668 }
@@ -2295,7 +2291,6 @@ static bool audio_load_track(int offset, bool start_play)
2295 set_current_codec(CODEC_IDX_AUDIO); 2291 set_current_codec(CODEC_IDX_AUDIO);
2296 buf_set_conf(BUFFERING_SET_WATERMARK, AUDIO_DEFAULT_WATERMARK); 2292 buf_set_conf(BUFFERING_SET_WATERMARK, AUDIO_DEFAULT_WATERMARK);
2297 buf_set_conf(BUFFERING_SET_CHUNKSIZE, AUDIO_DEFAULT_FILECHUNK); 2293 buf_set_conf(BUFFERING_SET_CHUNKSIZE, AUDIO_DEFAULT_FILECHUNK);
2298 buf_set_conf(BUFFERING_SET_PRESEEK, AUDIO_REBUFFER_GUESS_SIZE);
2299 dsp_configure(DSP_RESET, 0); 2294 dsp_configure(DSP_RESET, 0);
2300 set_current_codec(last_codec); 2295 set_current_codec(last_codec);
2301 2296
@@ -2441,8 +2436,12 @@ static bool audio_load_track(int offset, bool start_play)
2441 2436
2442 logf("alt:%s", trackname); 2437 logf("alt:%s", trackname);
2443 2438
2444 if (!file_offset && track_id3->first_frame_offset) 2439 if (file_offset > AUDIO_REBUFFER_GUESS_SIZE)
2440 file_offset -= AUDIO_REBUFFER_GUESS_SIZE;
2441 else if (track_id3->first_frame_offset)
2445 file_offset = track_id3->first_frame_offset; 2442 file_offset = track_id3->first_frame_offset;
2443 else
2444 file_offset = 0;
2446 2445
2447 tracks[track_widx].audio_hid = bufopen(trackname, file_offset, type); 2446 tracks[track_widx].audio_hid = bufopen(trackname, file_offset, type);
2448 2447