1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware
Thomas Martitz 2a8eacdbfc Buflib: Make shrinking and buflib_available() smarter.
* shrinking now considers freespace just before the alloc-to-be-shrinked,
  that means less (or sometimes none at all) is taken from the audio buffer.
* core_available() now searches for the best free space, instead of simply the end,
  i.e. it will not return 0 if the audio buffer is allocated and there's free space
  before it. It also runs a compaction to ensure maximum contiguous memory.

audio_buffer_available() is also enhanced. It now considers the 256K reserve buffer,
and returns free buflib space instead if the audio buffer is short.

This all fixes the root problem of FS#12344 (Sansa Clip+: PANIC occurred when
dircache is enabled), that alloced from the audio buffer, even if it was very
short and buflib had many more available as free space before it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31006 a1c6a512-1295-4272-9138-f99709370657
2011-11-17 17:55:02 +00:00
..
common Fix FS#12325 - screen corruption on early usb. 2011-10-28 16:38:52 +00:00
decompressor Fix assembler .size directives. Currently used binutils don't complain, but 2.21.1 treats these as errors. 2011-11-09 19:20:33 +00:00
drivers Sandisk Sansa Connect port (FS #12363) 2011-11-16 14:08:01 +00:00
export Buflib: Make shrinking and buflib_available() smarter. 2011-11-17 17:55:02 +00:00
include Finish r30818 revert 2011-10-22 08:23:52 +00:00
libc
target Sandisk Sansa Connect port (FS #12363) 2011-11-16 14:08:01 +00:00
test Added dummy autoconf.h for fat test. 2011-02-28 10:51:45 +00:00
usbstack Use array index 'i' only -after- bounds check 2011-10-21 18:51:19 +00:00
arabjoin.c
arabjoin.h
ata_idle_notify.c
backlight-sw-fading.c
backlight.c All kernel objects in code shared amongs targets (core, plugins, codecs) should be declared SHAREDBSS_ATTR as any core could potentially touch them even though they seem only to involve threads on one core. The exception is target code for particular CPUs where proper allocation is fixed. playlist.c was a little odd too-- use one mutex for the current playlist and a separate one for created playlists (still pondering the necessity of more than one). 2011-02-14 11:27:45 +00:00
bidi.c
buffer.c Fix errors and warnings. 2011-08-14 15:37:05 +00:00
buflib.c Buflib: Make shrinking and buflib_available() smarter. 2011-11-17 17:55:02 +00:00
COPYING
core_alloc.c core_alloc: Provide a tiny test allocation, which can be freed for debug purposes. 2011-10-05 18:32:19 +00:00
debug.c
eeprom_settings.c
enc_base.c
events.c
firmware.make
font.c Redo r30826 (and hopefully not reintroduce font issues) which cleans up the font API. FONT_UI is deprecated, use screens[screen].getuifont() instead (and .setuifont() to set it after a font has been loaded) 2011-11-08 10:09:33 +00:00
font_cache.c Make local functions and variables static where possible 2011-11-03 23:32:49 +00:00
general.c
hangul.c
ifp_usb_serial.c
kernel.c Fix "variable 'result' set but not used" warning 2011-07-19 21:06:30 +00:00
load_code.c Disable buffering codecs (and code generally) on RaaA. 2011-02-09 20:27:23 +00:00
logf.c
lru.c Revert r30818 2011-10-22 08:02:38 +00:00
panic.c
pcm.c Shuffle some functions around so that interfacing with playback.c in particular isn't required. Though playback does finish the audio init, pcm doesn't care who does it. 2011-09-01 12:15:43 +00:00
pcm_mixer.c Use playback channel directly for peakmeters and plugins using peak calculation. Also, for now, don't allow mixer playback to overlap recording, even if full duplex works. 2011-07-02 11:55:38 +00:00
pcm_sampr.c
powermgmt.c FS:12299 Font glyph cache is no longer saved. Each font will now have its own glyph cache file with the extension '.gc' Includes a temporary fix that delays saving the file to prevent the creation of multiple gc files with same name. Mostly JD Gordon's code. 2011-10-16 13:18:46 +00:00
profile.c
README
rolo.c GSoC/Buflib: Add buflib memory alocator to the core. 2011-08-30 14:01:33 +00:00
rom.lds
screendump.c
scroll_engine.c All kernel objects in code shared amongs targets (core, plugins, codecs) should be declared SHAREDBSS_ATTR as any core could potentially touch them even though they seem only to involve threads on one core. The exception is target code for particular CPUs where proper allocation is fixed. playlist.c was a little odd too-- use one mutex for the current playlist and a separate one for created playlists (still pondering the necessity of more than one). 2011-02-14 11:27:45 +00:00
sdmmc.c
sound.c Sandisk Sansa Connect port (FS #12363) 2011-11-16 14:08:01 +00:00
SOURCES Sandisk Sansa Connect port (FS #12363) 2011-11-16 14:08:01 +00:00
storage.c Change the thread api a bit. 2011-03-05 17:48:06 +00:00
system.c
thread.c Change the thread api a bit. 2011-03-05 17:48:06 +00:00
timer.c
tuner.c
usb.c usb: add forgotten break in usb switch, this could lead to unwanted code being execute like USB_QUIT to be sent on hotswap ! 2011-10-27 10:35:45 +00:00

See docs/README