mirror of
https://github.com/Rockbox/rockbox.git
synced 2025-10-13 18:17:39 -04:00
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
This commit is contained in:
parent
2d95fd524d
commit
1df1e7b0c7
5 changed files with 5 additions and 21 deletions
|
@ -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_watermark = 0; /* Level to trigger filebuf fill */
|
||||||
static size_t conf_filechunk = 0; /* Bytes-per-read for buffering (impacts
|
static size_t conf_filechunk = 0; /* Bytes-per-read for buffering (impacts
|
||||||
responsiveness of buffering thread) */
|
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
|
#if MEM > 8
|
||||||
static size_t high_watermark = 0; /* High watermark for rebuffer */
|
static size_t high_watermark = 0; /* High watermark for rebuffer */
|
||||||
#endif
|
#endif
|
||||||
|
@ -178,7 +176,6 @@ enum {
|
||||||
/* Configuration: */
|
/* Configuration: */
|
||||||
Q_SET_WATERMARK,
|
Q_SET_WATERMARK,
|
||||||
Q_SET_CHUNKSIZE,
|
Q_SET_CHUNKSIZE,
|
||||||
Q_SET_PRESEEK,
|
|
||||||
Q_FILL_BUFFER, /* Request that the buffering thread initiate a buffer
|
Q_FILL_BUFFER, /* Request that the buffering thread initiate a buffer
|
||||||
fill at its earliest convenience */
|
fill at its earliest convenience */
|
||||||
};
|
};
|
||||||
|
@ -1117,10 +1114,6 @@ void buf_set_conf(int setting, size_t value)
|
||||||
msg = Q_SET_CHUNKSIZE;
|
msg = Q_SET_CHUNKSIZE;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case BUFFERING_SET_PRESEEK:
|
|
||||||
msg = Q_SET_PRESEEK;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -1254,11 +1247,6 @@ void buffering_thread(void)
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Q_SET_PRESEEK:
|
|
||||||
LOGFQUEUE("buffering < Q_SET_PRESEEK");
|
|
||||||
conf_preseek = (size_t)ev.data;
|
|
||||||
break;
|
|
||||||
|
|
||||||
#ifndef SIMULATOR
|
#ifndef SIMULATOR
|
||||||
case SYS_USB_CONNECTED:
|
case SYS_USB_CONNECTED:
|
||||||
LOGFQUEUE("buffering < SYS_USB_CONNECTED");
|
LOGFQUEUE("buffering < SYS_USB_CONNECTED");
|
||||||
|
|
|
@ -116,7 +116,6 @@ void unregister_buffer_low_callback(buffer_low_callback func);
|
||||||
enum {
|
enum {
|
||||||
BUFFERING_SET_WATERMARK = 1,
|
BUFFERING_SET_WATERMARK = 1,
|
||||||
BUFFERING_SET_CHUNKSIZE,
|
BUFFERING_SET_CHUNKSIZE,
|
||||||
BUFFERING_SET_PRESEEK,
|
|
||||||
};
|
};
|
||||||
void buf_set_conf(int setting, size_t value);
|
void buf_set_conf(int setting, size_t value);
|
||||||
|
|
||||||
|
|
|
@ -79,7 +79,6 @@ enum codec_status codec_main(void)
|
||||||
|
|
||||||
ci->configure(DSP_SET_SAMPLE_DEPTH, 28);
|
ci->configure(DSP_SET_SAMPLE_DEPTH, 28);
|
||||||
ci->configure(CODEC_SET_FILEBUF_CHUNKSIZE, 1024*16);
|
ci->configure(CODEC_SET_FILEBUF_CHUNKSIZE, 1024*16);
|
||||||
ci->configure(CODEC_SET_FILEBUF_PRESEEK, 0);
|
|
||||||
|
|
||||||
/* Create a decoder instance */
|
/* Create a decoder instance */
|
||||||
reader.read = read_impl;
|
reader.read = read_impl;
|
||||||
|
|
|
@ -36,7 +36,6 @@ enum
|
||||||
{
|
{
|
||||||
CODEC_SET_FILEBUF_WATERMARK = 1,
|
CODEC_SET_FILEBUF_WATERMARK = 1,
|
||||||
CODEC_SET_FILEBUF_CHUNKSIZE,
|
CODEC_SET_FILEBUF_CHUNKSIZE,
|
||||||
CODEC_SET_FILEBUF_PRESEEK,
|
|
||||||
DSP_SWITCH_CODEC,
|
DSP_SWITCH_CODEC,
|
||||||
DSP_SET_FREQUENCY,
|
DSP_SET_FREQUENCY,
|
||||||
DSP_SWITCH_FREQUENCY,
|
DSP_SWITCH_FREQUENCY,
|
||||||
|
|
|
@ -1663,10 +1663,6 @@ static void codec_configure_callback(int setting, intptr_t value)
|
||||||
buf_set_conf(BUFFERING_SET_CHUNKSIZE, value);
|
buf_set_conf(BUFFERING_SET_CHUNKSIZE, value);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case CODEC_SET_FILEBUF_PRESEEK:
|
|
||||||
buf_set_conf(BUFFERING_SET_PRESEEK, value);
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
if (!dsp_configure(setting, value)) { logf("Illegal key:%d", setting); }
|
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);
|
set_current_codec(CODEC_IDX_AUDIO);
|
||||||
buf_set_conf(BUFFERING_SET_WATERMARK, AUDIO_DEFAULT_WATERMARK);
|
buf_set_conf(BUFFERING_SET_WATERMARK, AUDIO_DEFAULT_WATERMARK);
|
||||||
buf_set_conf(BUFFERING_SET_CHUNKSIZE, AUDIO_DEFAULT_FILECHUNK);
|
buf_set_conf(BUFFERING_SET_CHUNKSIZE, AUDIO_DEFAULT_FILECHUNK);
|
||||||
buf_set_conf(BUFFERING_SET_PRESEEK, AUDIO_REBUFFER_GUESS_SIZE);
|
|
||||||
dsp_configure(DSP_RESET, 0);
|
dsp_configure(DSP_RESET, 0);
|
||||||
set_current_codec(last_codec);
|
set_current_codec(last_codec);
|
||||||
|
|
||||||
|
@ -2441,8 +2436,12 @@ static bool audio_load_track(int offset, bool start_play)
|
||||||
|
|
||||||
logf("alt:%s", trackname);
|
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;
|
file_offset = track_id3->first_frame_offset;
|
||||||
|
else
|
||||||
|
file_offset = 0;
|
||||||
|
|
||||||
tracks[track_widx].audio_hid = bufopen(trackname, file_offset, type);
|
tracks[track_widx].audio_hid = bufopen(trackname, file_offset, type);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue