summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-12-05 13:09:51 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-12-05 13:09:51 +0000
commitb8ff5f8971616f4b25c02cc79d9644d7df70d5c2 (patch)
tree967f11d5e095ea8b0fd7863237b55983bcd735b5 /apps
parentf4233e482dd34dd74bb9ce78f69f44cd22edbea6 (diff)
downloadrockbox-b8ff5f8971616f4b25c02cc79d9644d7df70d5c2.zip
rockbox-b8ff5f8971616f4b25c02cc79d9644d7df70d5c2.tar.gz
rockbox-b8ff5f8971616f4b25c02cc79d9644d7df70d5c2.tar.bz2
rockbox-b8ff5f8971616f4b25c02cc79d9644d7df70d5c2.tar.xz
Added MP3 buffer margin setting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2939 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/debug_menu.c5
-rw-r--r--apps/lang/english.lang5
-rw-r--r--apps/settings.c10
-rw-r--r--apps/settings.h1
-rw-r--r--apps/settings_menu.c8
5 files changed, 25 insertions, 4 deletions
diff --git a/apps/debug_menu.c b/apps/debug_menu.c
index e55aa12..76c8662 100644
--- a/apps/debug_menu.c
+++ b/apps/debug_menu.c
@@ -174,10 +174,11 @@ bool dbg_mpeg_thread(void)
percent = d.unplayed_space * 100 / d.mp3buflen;
progressbar(0, 6*8, 112, 4, percent, Grow_Right);
- percent = MPEG_LOW_WATER * 100 / d.mp3buflen;
+ percent = d.low_watermark_level * 100 / d.mp3buflen;
progressbar(0, 6*8+4, 112, 4, percent, Grow_Right);
- snprintf(buf, sizeof(buf), "lowest: %x", d.lowest_watermark_level);
+ snprintf(buf, sizeof(buf), "wm: %x - %x",
+ d.low_watermark_level, d.lowest_watermark_level);
lcd_puts(0, 7, buf);
lcd_update();
diff --git a/apps/lang/english.lang b/apps/lang/english.lang
index af1d812..6f44947 100644
--- a/apps/lang/english.lang
+++ b/apps/lang/english.lang
@@ -1171,3 +1171,8 @@ id: LANG_SLEEP_TIMER
desc: sleep timer setting
eng: "Sleep timer"
new:
+
+id: LANG_MP3BUFFER_MARGIN
+desc: MP3 buffer margin time
+eng: "MP3 buffer margin"
+new:
diff --git a/apps/settings.c b/apps/settings.c
index cd838b9..2c97e20 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -105,7 +105,7 @@ offset abs
0x22 0x36 <rec. quality (bit 0-2), source (bit 3-4), frequency (bit 5-7)>
0x23 0x37 <rec. left gain (bit 0-3)>
0x24 0x38 <rec. right gain (bit 0-3)>
-0x25 0x39 <disk_spindown flag>
+0x25 0x39 <disk poweroff flag (bit 0), MP3 buffer margin (bit 1-3)>
0x26 0x40 <runtime low byte>
0x27 0x41 <runtime high byte>
0x28 0x42 <topruntime low byte>
@@ -344,7 +344,9 @@ int settings_save( void )
((global_settings.rec_frequency & 7) << 5));
config_block[0x23] = (unsigned char)global_settings.rec_left_gain;
config_block[0x24] = (unsigned char)global_settings.rec_right_gain;
- config_block[0x25] = (unsigned char)global_settings.disk_poweroff & 1;
+ config_block[0x25] = (unsigned char)
+ ((global_settings.disk_poweroff & 1) |
+ ((global_settings.buffer_margin & 7) << 1));
{
static long lasttime = 0;
@@ -618,7 +620,10 @@ void settings_load(void)
global_settings.rec_right_gain = config_block[0x24] & 0x0f;
if (config_block[0x25] != 0xFF)
+ {
global_settings.disk_poweroff = config_block[0x25] & 1;
+ global_settings.buffer_margin = (config_block[0x25] >> 1) & 7;
+ }
if (config_block[0x27] != 0xff)
global_settings.runtime =
@@ -819,6 +824,7 @@ void settings_reset(void) {
global_settings.resume_offset = -1;
global_settings.disk_spindown = 5;
global_settings.disk_poweroff = false;
+ global_settings.buffer_margin = 0;
global_settings.browse_current = false;
global_settings.play_selected = true;
global_settings.peak_meter_release = 8;
diff --git a/apps/settings.h b/apps/settings.h
index 6d3678f..012131e 100644
--- a/apps/settings.h
+++ b/apps/settings.h
@@ -112,6 +112,7 @@ struct user_settings
int ff_rewind_accel; /* FF/Rewind acceleration (in seconds per doubling) */
int disk_spindown; /* time until disk spindown, in seconds (0=off) */
bool disk_poweroff; /* whether to cut disk power after spindown or not */
+ int buffer_margin; /* MP3 buffer watermark margin, in seconds */
int peak_meter_release; /* units per read out */
int peak_meter_hold; /* hold time for peak meter in 1/100 s */
diff --git a/apps/settings_menu.c b/apps/settings_menu.c
index a7b95ba..4342e9b 100644
--- a/apps/settings_menu.c
+++ b/apps/settings_menu.c
@@ -496,6 +496,13 @@ static bool poweroff(void)
}
#endif
+static bool buffer_margin(void)
+{
+ return set_int(str(LANG_MP3BUFFER_MARGIN), "s",
+ &global_settings.buffer_margin,
+ mpeg_set_buffer_margin, 1, 0, 7 );
+}
+
static bool ff_rewind_min_step(void)
{
char* names[] = { "1s", "2s", "3s", "4s",
@@ -535,6 +542,7 @@ static bool playback_settings_menu(void)
{ str(LANG_RESUME), resume },
{ str(LANG_FFRW_STEP), ff_rewind_min_step },
{ str(LANG_FFRW_ACCEL), ff_rewind_accel },
+ { str(LANG_MP3BUFFER_MARGIN), buffer_margin },
};
bool old_shuffle = global_settings.playlist_shuffle;