1
0
Fork 0
forked from len0rd/rockbox
foxbox/apps
Michael Sevakis 65c6a14e5f Buffering: Switch to a more general handle caching type
It sort of implemented an MRU cache but just kept track of the most
recent access and checked the one after it, otherwise searching from
the beginning.

Implement a true MRU list of all open handles. Handles of the current
track will tend to stay up front for faster access.

Switch to common linked list functions

Use double-linked lists to have insert, remove and move_handle
operations in O(1)-- no more searching to find the previous handle,
which is very often required.

Smaller code too. :)

Change-Id: I9ae8f3f96d225a5d54b94133f499268007274784
2017-05-08 06:24:02 -04:00
..
bitmaps bitmaps: Use *x16.bmp also for upcoming 24bit targets (they are actually 24bit BMPs). 2014-06-21 00:13:58 +02:00
gui Improve radio RDS driver and framework 2017-02-11 22:19:32 -05:00
hosted/android Fix reds. 2014-03-14 23:43:45 +01:00
iap iAP: fix USB storage mount after using an iAP accessory 2016-08-26 00:16:16 +02:00
keymaps zenxfi3: fix recording keymap and simulator keymap 2016-09-21 00:29:42 +01:00
lang Commit FS#13111 by Sebastiano Pistore. 2017-05-02 03:58:39 +02:00
menus Implement speaker enable/disable on jack (un)plug 2017-02-04 17:22:08 +01:00
player
plugins Fix Samsung YH92X/YH820 keypad conditional in text_editor 2017-05-06 21:34:21 -04:00
radio Improve radio RDS driver and framework 2017-02-11 22:19:32 -05:00
recorder Fix dangerous casts 2017-02-04 17:24:47 +01:00
abrepeat.c ab_repeat: Move GUI bits to the skin engine. This allows ab_repeat to be compiled headless. 2014-03-10 22:55:26 +01:00
abrepeat.h ab_repeat: Move GUI bits to the skin engine. This allows ab_repeat to be compiled headless. 2014-03-10 22:55:26 +01:00
action.c action.c must desist in calling set_cpu_frequency from a tick 2017-01-21 12:03:23 -05:00
action.h Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01: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
apps.make Android: use APPEXTRA instead of makefile hack 2011-03-11 16:08:36 +00:00
audio_path.c Implement speaker enable/disable on jack (un)plug 2017-02-04 17:22:08 +01: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 Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
bookmark.h Fix minor bookmark problems/Enhance bookmark functions 2012-03-12 08:54:02 +01:00
buffering.c Buffering: Switch to a more general handle caching type 2017-05-08 06:24:02 -04:00
buffering.h Remove I/O priority. It is harmful when used with the new file code. 2014-08-30 14:01:21 -04:00
codec_thread.c Remove I/O priority. It is harmful when used with the new file code. 2014-08-30 14:01:21 -04:00
codec_thread.h Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
codecs.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
core_asmdefs.c
cuesheet.c Implements starting playback from a cuesheet. 2014-03-10 04:13:53 +01:00
cuesheet.h Implements starting playback from a cuesheet. 2014-03-10 04:13:53 +01:00
debug_menu.c Do some housekeeping with fat.h and SECTOR_SIZE 2017-03-12 22:05:44 -04: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 Get rid of USE_ROCKBOX_USB 2015-01-08 16:07:12 +01:00
filetree.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02: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 Don't add new message to logf when we dump it to file 2016-04-04 11:07:44 +02:00
logfdisp.h
main.c iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01: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 dangerous casts 2017-02-04 17:24:47 +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 Implement time-based resume and playback start. 2014-03-10 04:12:30 +01:00
mpeg.h
onplay.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
onplay.h FS#12251 - User shortcuts in the main menu. 2011-11-15 13:22:02 +00:00
pcmbuf.c Fix a problem with audio not starting on a list of short files 2017-04-06 19:32:35 -04:00
pcmbuf.h Fix a problem with audio not starting on a list of short files 2017-04-06 19:32:35 -04:00
playback.c Fix a problem with audio not starting on a list of short files 2017-04-06 19:32:35 -04:00
playback.h playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
playlist.c Restore dircache hookup in the database ramcache. 2017-02-10 05:05:23 -05:00
playlist.h Reenable database ramcache and playlist dircache 2017-01-17 15:27:47 -05:00
playlist_catalog.c Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02: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 Don't shorten the playlist on shuffle. Fixes FS#13040 2015-04-19 12:31:45 +02:00
playlist_viewer.h FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
plugin.c Fix broken logf 2016-03-30 20:48:17 +00:00
plugin.h Implement speaker enable/disable on jack (un)plug 2017-02-04 17:22:08 +01:00
rbcodec_helpers.c Rename HAVE_PITCHSCREEN to HAVE_PITCHCONTROL 2012-05-09 14:32:38 +02:00
rbcodecconfig.h kernel: Break out kernel primitives into separate files and move to separate dir. 2014-03-03 18:11:57 +01:00
rbcodecplatform.h rbcodec: abstract tdspeed buffer allocation 2012-05-07 10:29:07 +02:00
README
root_menu.c iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
root_menu.h root_menu: Remove previous_music_is_wps() and change previous_music via event callback. 2014-04-15 23:54:28 +02: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 iBasso DX50/DX90: Major code cleanup and reorganization. 2015-02-02 21:57:55 +01:00
scrobbler.h Get rid of some superfluous single-purpose functions in playback. 2013-07-13 00:08:51 -04:00
settings.c Implement speaker enable/disable on jack (un)plug 2017-02-04 17:22:08 +01:00
settings.h Implement speaker enable/disable on jack (un)plug 2017-02-04 17:22:08 +01:00
settings_list.c Implement speaker enable/disable on jack (un)plug 2017-02-04 17:22:08 +01:00
settings_list.h Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
shortcuts.c Shortcuts: Add move callback for buflib allocations 2015-01-02 01:11:54 +01:00
shortcuts.h shortcuts: talk the time and configure the sleep timeout 2011-12-08 10:23:46 +00:00
sound_menu.h
SOURCES Selective Backlight/Advanced Softlock - Selective actions based on context 2017-01-17 23:06:17 +01:00
status.c
status.h
tagcache.c Database: Fix destabilization if ramcache fails to load + misc. 2017-04-01 13:01:20 -04:00
tagcache.h Implement time-based resume and playback start. 2014-03-10 04:12:30 +01: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 Fix tagtree from blowing up when its buffer moves 2017-02-10 20:58:03 -05: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: On hwcodec disabling DMA interrupt is required during buflib move 2014-02-03 12:43:05 +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 Rewrite filesystem code (WIP) 2014-08-30 03:48:23 +02:00
tree.h Implement time-based resume and playback start. 2014-03-10 04:12:30 +01:00
usb_keymaps.c remove superfluous ifdef 2011-12-28 19:23:38 +00:00
usb_keymaps.h
voice_thread.c Fix warnings. 2014-02-03 12:33:33 +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