rockbox/apps
Thomas Martitz c46f9be10a talk: Smarter cache management for TALK_PARTIAL_LOAD.
Previously the clip cache of TALK_PARTIAL_LOAD reserved space N clips, each slot
was as big as the maximum sized clip which was necessary to replace clips
in-memory in MRU-style.

The cache management now uses buflib to allocate and free each clip, using the
clip's real size. This allows the clip cache to be much more compact, because
no space is wasted for the max. sized clip. This makes use of buflib's ability
to easily manage differently-sized memory chunks by moving them to make free
space.

As an example: for english.voice TALK_PARTIAL_LOAD allocated 288k in advance.
for just 64 clips. With this patch ~70 clips can be stored in a 100k buffer.
This, the memory usage is cut by 2/3 and almost optimal (there's still the
buflib per-alloc cookie overhead).

As a result the TALK_PARTIAL_LOAD buffer is restricted to 100k which still
allows for more clips than previously, on average.

Change-Id: I257654071e9a95770cd6db2c2765f020befce412
2014-02-02 19:40:39 +01:00
..
bitmaps apps/bitmaps: Replace pseudo-native default icons with mono ones. 2014-01-05 19:35:23 +01:00
gui Fix red on monochrome. 2014-01-22 17:31:24 +01:00
hosted/android Get rid of some superfluous single-purpose functions in playback. 2013-07-13 00:08:51 -04:00
iap ipods: fix DEBUG builds 2014-01-16 08:19:27 +01:00
keymaps fuze+: Fix pitchscreen keymap. 2014-01-12 21:42:00 +01:00
lang Fix incorrect language string reference in eq_menu.c 2014-01-26 16:26:00 +01:00
menus Fix incorrect language string reference in eq_menu.c 2014-01-26 16:26:00 +01:00
player Fix remaining reds/yellows. 2010-05-14 13:21:40 +00:00
plugins rockbox: Improve button repeat handling. 2014-01-18 23:06:55 +01:00
radio radio: Fix crash with radioart after skipping some stations 2014-01-15 14:48:55 +01:00
recorder bmp loader: Fix loading of monochrome/greyscale BMPs with newer headers. 2014-01-11 14:19:43 +01:00
abrepeat.c abrepeat: drop some inline's and rearrange code to save some size since this stuff is hardly speed critical. 2011-01-18 16:11:33 +00:00
abrepeat.h abrepeat: drop some inline's and rearrange code to save some size since this stuff is hardly speed critical. 2011-01-18 16:11:33 +00:00
action.c touch devices: Disable touch on softlock. 2013-09-05 20:02:07 +02:00
action.h skin_engine: Make pressing the setting bar touch region work 2012-07-06 14:28:34 +10:00
alarm_menu.c Changed the FOR_NB_SCREENS macro to always be a for loop that declares its own loop variable. This removes the need to declare this variable in the outer scope. 2011-10-15 19:35:02 +00:00
alarm_menu.h
appevents.h Get rid of some superfluous single-purpose functions in playback. 2013-07-13 00:08:51 -04:00
applimits.h Remove two unused defines. 2010-08-21 15:49:42 +00:00
apps.make Android: use APPEXTRA instead of makefile hack 2011-03-11 16:08:36 +00:00
audio_path.c ypr0: This patch adds radio support to Samsung YP-R0 2012-05-28 19:39:14 +02:00
audio_thread.c talk: Remove superflous call to talk_init(). 2014-02-02 19:40:38 +01:00
audio_thread.h Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
beep.c Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
bookmark.c bookmark: add cancelling of autoload bookmark 2013-04-06 11:35:36 +02:00
bookmark.h Fix minor bookmark problems/Enhance bookmark functions 2012-03-12 08:54:02 +01:00
buffering.c SWCODEC Audio: Add some INIT_ATTR's to get a few bytes back. 2013-06-29 22:29:23 -04:00
buffering.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
codec_thread.c Do not include kernel.h in system.h. 2014-01-05 19:35:23 +01:00
codec_thread.h Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
codecs.c Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
core_asmdefs.c
cuesheet.c cuesheet: Fix another possible buffer overflow with long filenames. 2014-01-11 18:24:48 +01:00
cuesheet.h FS #12419 : Support for embedded cuesheets. 2011-12-16 10:09:41 +00:00
debug_menu.c talk: Add debug menu entry to view statistics about talk engine. 2014-02-02 19:40:39 +01:00
debug_menu.h dbg_ports() : move proto to system.h 2012-01-04 05:21:44 +00:00
enc_config.c Fix different enum comparison warning when building with gcc 4.5 2010-12-20 20:56:22 +00:00
enc_config.h
features.txt apps: factor depth3d capability in features.txt 2013-09-25 14:31:39 +02:00
filetree.c Use crc32 of filename to resume tracks 2013-01-02 08:29:38 +01:00
filetree.h
filetypes.c Fix color of files with no extension. 2013-06-05 18:35:09 -04:00
filetypes.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
fracmul.h Build librbcodec with DSP and metadata. 2012-03-18 12:00:39 +01:00
keyboard.h
language.c Add stdio.h include for SEEK_SET define to various files. 2010-12-25 18:43:34 +00:00
language.h
logfdisp.c Remove last traces of sprintf.h 2010-05-07 02:13:47 +00:00
logfdisp.h
main.c Fix logdisk 2013-08-16 21:59:16 +02:00
menu.c menus: Stop scrolling before entering the USB screen or remnants of the previous list could appear on it. 2014-01-16 00:25:40 +01:00
menu.h FS#12251 - User shortcuts in the main menu. 2011-11-15 13:22:02 +00:00
misc.c Fix Player 2014-01-15 22:56:39 +01:00
misc.h usb screen: Push the usb screen onto the activity stack. This enables %cs tag support for it. 2014-01-16 00:26:45 +01:00
mpeg.c talk: Remove superflous call to talk_init(). 2014-02-02 19:40:38 +01:00
mpeg.h
onplay.c Rename HAVE_PITCHSCREEN to HAVE_PITCHCONTROL 2012-05-09 14:32:38 +02:00
onplay.h FS#12251 - User shortcuts in the main menu. 2011-11-15 13:22:02 +00:00
pcmbuf.c Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
pcmbuf.h Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
playback.c playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
playback.h playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
playlist.c playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
playlist.h Use crc32 of filename to resume tracks 2013-01-02 08:29:38 +01:00
playlist_catalog.c FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
playlist_catalog.h FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
playlist_menu.h
playlist_viewer.c playlist_viewer: Reset icon callback after leaving the playlist viewer settings. 2014-01-11 10:49:45 +01:00
playlist_viewer.h FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
plugin.c lcd-common/scroll_engine: Remove unused functions lcd_puts_scroll_style(). 2014-01-07 14:13:48 +01:00
plugin.h buflib: Add crc field protecting buflib cookie integrity 2014-01-16 10:17:39 +01:00
rbcodec_helpers.c Rename HAVE_PITCHSCREEN to HAVE_PITCHCONTROL 2012-05-09 14:32:38 +02:00
rbcodecconfig.h Do not include kernel.h in system.h. 2014-01-05 19:35:23 +01:00
rbcodecplatform.h rbcodec: abstract tdspeed buffer allocation 2012-05-07 10:29:07 +02:00
README
root_menu.c Introduce volume_{present,removable} and fix invalid calls in apps/ 2013-11-20 21:34:04 +01:00
root_menu.h main menu: Add the ability to hide and reorder the main menu items. 2012-02-25 12:40:44 +01:00
screen_access.c Fix put_line via multiscreen API on remotes. Stupid me. 2014-01-08 10:45:00 +01:00
screen_access.h put_line/scrolling: Make the scroll engine inform custom scrollers about start/stop of scrolling. 2014-01-12 01:34:06 +01:00
screens.c Fix more reds. 2013-12-15 00:47:21 +01:00
screens.h
scrobbler.c Get rid of some superfluous single-purpose functions in playback. 2013-07-13 00:08:51 -04:00
scrobbler.h Get rid of some superfluous single-purpose functions in playback. 2013-07-13 00:08:51 -04:00
settings.c talk: Remove superflous call to talk_init(). 2014-02-02 19:40:38 +01:00
settings.h Implement volume limiter feature 2014-01-13 11:32:03 +01:00
settings_list.c Correct the number of codepages on charcell. 2014-01-27 20:27:15 +01:00
settings_list.h EQ settings: Rework the settings to clean up the config file. 2013-02-09 13:05:32 +01:00
shortcuts.c Add set_sleeptimer_duration function in minutes 2012-10-06 11:59:13 +02:00
shortcuts.h shortcuts: talk the time and configure the sleep timeout 2011-12-08 10:23:46 +00:00
sound_menu.h Remove unneeded include. 2010-08-21 16:07:34 +00:00
SOURCES Introduce put_line(). 2014-01-07 14:13:17 +01:00
status.c
status.h Rockbox as an application: Replace many occurences of #ifdef SIMULATOR with #if (CONFIG_PLATFORM & PLATFORM_HOSTED) (or equivalently). 2010-06-21 16:53:00 +00:00
tagcache.c Fix possible readlink() buffer overflow 2013-01-15 22:04:18 +01:00
tagcache.h Fix database tool. 2012-07-31 10:33:27 +02:00
tagnavi.config FS#12132 patch 7: Add a new default format for untagged tracks: 2011-07-31 16:26:39 +00:00
tagtree.c tagtree: Use strnatcasecmp() for the database browser too. 2014-01-15 23:18:35 +01:00
tagtree.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
talk.c talk: Smarter cache management for TALK_PARTIAL_LOAD. 2014-02-02 19:40:39 +01:00
talk.h talk: Add debug menu entry to view statistics about talk engine. 2014-02-02 19:40:39 +01:00
tree.c keyclick: Add a callback so screens can cancel a click. Add a generic list callback to stop clicks when we are at the end of the list 2012-01-12 22:28:36 +11:00
tree.h Add more INIT_ATTR and add config.h includes to header files with INIT_ATTR. 2011-12-19 20:12:52 +00:00
usb_keymaps.c remove superfluous ifdef 2011-12-28 19:23:38 +00:00
usb_keymaps.h
voice_thread.c talk: Make talk_voice_required() local to talk.c 2014-02-02 19:40:39 +01:00
voice_thread.h voice_thread_init was left INIT_ATTR but is being called too late. 2012-05-21 15:21:36 -04:00

For general information see: docs/README
For API information see: docs/API