Various lower limits and sizes for targets with 1MB of RAM (Iriver iFP7xx).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10556 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Tomasz Malesinski 2006-08-12 23:01:52 +00:00
parent c1810b31f1
commit 28910e7e17
5 changed files with 34 additions and 0 deletions

View file

@ -740,7 +740,11 @@ static bool prepare_insert(size_t length)
{ {
pcmbuf_boost(true); pcmbuf_boost(true);
/* Pre-buffer 1s. */ /* Pre-buffer 1s. */
#if MEMORYSIZE <= 1
if (!LOW_DATA(1))
#else
if (!LOW_DATA(4)) if (!LOW_DATA(4))
#endif
{ {
logf("pcm starting"); logf("pcm starting");
pcmbuf_play_start(); pcmbuf_play_start();

View file

@ -19,12 +19,18 @@
#ifndef PCMBUF_H #ifndef PCMBUF_H
#define PCMBUF_H #define PCMBUF_H
#if MEMORYSIZE > 1
#define PCMBUF_TARGET_CHUNK 32768 /* This is the target fill size of chunks #define PCMBUF_TARGET_CHUNK 32768 /* This is the target fill size of chunks
on the pcm buffer */ on the pcm buffer */
#define PCMBUF_MINAVG_CHUNK 24576 /* This is the minimum average size of #define PCMBUF_MINAVG_CHUNK 24576 /* This is the minimum average size of
chunks on the pcm buffer (or we run out chunks on the pcm buffer (or we run out
of buffer descriptors, which is of buffer descriptors, which is
non-fatal) */ non-fatal) */
#else
#define PCMBUF_TARGET_CHUNK 16384
#define PCMBUF_MINAVG_CHUNK 12288
#endif
#define PCMBUF_MIN_CHUNK 4096 /* We try to never feed a chunk smaller than #define PCMBUF_MIN_CHUNK 4096 /* We try to never feed a chunk smaller than
this to the DMA */ this to the DMA */
#define PCMBUF_MIX_CHUNK 8192 /* This is the maximum size of one packet #define PCMBUF_MIX_CHUNK 8192 /* This is the maximum size of one packet

View file

@ -136,8 +136,13 @@ enum {
}; };
/* As defined in plugins/lib/xxx2wav.h */ /* As defined in plugins/lib/xxx2wav.h */
#if MEMORYSIZE > 1
#define MALLOC_BUFSIZE (512*1024) #define MALLOC_BUFSIZE (512*1024)
#define GUARD_BUFSIZE (32*1024) #define GUARD_BUFSIZE (32*1024)
#else
#define MALLOC_BUFSIZE (100*1024)
#define GUARD_BUFSIZE (8*1024)
#endif
/* As defined in plugin.lds */ /* As defined in plugin.lds */
#if CONFIG_CPU == PP5020 || CONFIG_CPU == PP5002 #if CONFIG_CPU == PP5020 || CONFIG_CPU == PP5002
@ -2930,11 +2935,14 @@ void audio_set_crossfade(int enable)
size_t size; size_t size;
bool was_playing = (playing && audio_is_initialized); bool was_playing = (playing && audio_is_initialized);
size_t offset = 0; size_t offset = 0;
#if MEMORYSIZE > 1
int seconds = 1; int seconds = 1;
#endif
if (!filebuf) if (!filebuf)
return; /* Audio buffers not yet set up */ return; /* Audio buffers not yet set up */
#if MEMORYSIZE > 1
if (enable) if (enable)
seconds = global_settings.crossfade_fade_out_delay seconds = global_settings.crossfade_fade_out_delay
+ global_settings.crossfade_fade_out_duration; + global_settings.crossfade_fade_out_duration;
@ -2943,6 +2951,10 @@ void audio_set_crossfade(int enable)
seconds += 2; seconds += 2;
logf("buf len: %d", seconds); logf("buf len: %d", seconds);
size = seconds * (NATIVE_FREQUENCY*4); size = seconds * (NATIVE_FREQUENCY*4);
#else
enable = 0;
size = NATIVE_FREQUENCY*2;
#endif
if (pcmbuf_get_bufsize() == size) if (pcmbuf_get_bufsize() == size)
return ; return ;

View file

@ -33,7 +33,12 @@
/* Not yet implemented. */ /* Not yet implemented. */
#define CODEC_SET_AUDIOBUF_WATERMARK 4 #define CODEC_SET_AUDIOBUF_WATERMARK 4
#if MEMORYSIZE > 1
#define MAX_TRACK 32 #define MAX_TRACK 32
#else
#define MAX_TRACK 8
#endif
#define MAX_TRACK_MASK (MAX_TRACK-1) #define MAX_TRACK_MASK (MAX_TRACK-1)
struct track_info { struct track_info {

View file

@ -269,10 +269,17 @@ static const struct bit_entry rtc_bits[] =
"idle poweroff", "off,1,2,3,4,5,6,7,8,9,10,15,30,45,60" }, "idle poweroff", "off,1,2,3,4,5,6,7,8,9,10,15,30,45,60" },
{18, S_O(runtime), 0, NULL, NULL }, {18, S_O(runtime), 0, NULL, NULL },
{18, S_O(topruntime), 0, NULL, NULL }, {18, S_O(topruntime), 0, NULL, NULL },
#if MEMORYSIZE > 1
{15, S_O(max_files_in_playlist), 10000, {15, S_O(max_files_in_playlist), 10000,
"max files in playlist", NULL }, /* 1000...20000 */ "max files in playlist", NULL }, /* 1000...20000 */
{14, S_O(max_files_in_dir), 400, {14, S_O(max_files_in_dir), 400,
"max files in dir", NULL }, /* 50...10000 */ "max files in dir", NULL }, /* 50...10000 */
#else
{15, S_O(max_files_in_playlist), 1000,
"max files in playlist", NULL }, /* 1000...20000 */
{14, S_O(max_files_in_dir), 200,
"max files in dir", NULL }, /* 50...10000 */
#endif
/* battery */ /* battery */
{12, S_O(battery_capacity), BATTERY_CAPACITY_DEFAULT, "battery capacity", {12, S_O(battery_capacity), BATTERY_CAPACITY_DEFAULT, "battery capacity",
NULL }, /* 1500...3200 for NiMH, 2200...3200 for LiIon, NULL }, /* 1500...3200 for NiMH, 2200...3200 for LiIon,