1
0
Fork 0
forked from len0rd/rockbox
foxbox/apps
Thomas Martitz 22e802e800 playback,talk: Share audiobuffer via core_alloc_maximum().
This fixes the radioart crash that was the result of buffering.c working
on a freed buffer at the same time as buflib (radioart uses buffering.c for the
images). With this change the buffer is owned by buflib exclusively so this
cannot happen.

As a result, audio_get_buffer() doesn't exist anymore. Callers should call
core_alloc_maximum() directly. This buffer needs to be protected as usual
against movement if necessary (previously it was not protected at all which
cased the radioart crash), To get most of it they can adjust the willingness of
the talk engine to give its buffer away (at the expense of disabling voice
interface) with the new talk_buffer_set_policy() function.

Change-Id: I52123012208d04967876a304451d634e2bef3a33
2013-12-23 12:17:38 +01:00
..
bitmaps Sansa clip zip: fix pinkish outline around usb logo 2012-02-18 16:01:06 +01:00
gui playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
hosted/android Get rid of some superfluous single-purpose functions in playback. 2013-07-13 00:08:51 -04:00
iap Updated IAP commands. 2013-11-10 18:41:24 +01:00
keymaps Introduce IHIFI760/960 targets. 2013-12-16 00:45:18 +04:00
lang DSP Compressor: Sidechain, Exponential Atk/Rls 2013-12-15 22:24:08 +01:00
menus DSP Compressor: Sidechain, Exponential Atk/Rls 2013-12-15 22:24:08 +01:00
player
plugins scroll_engine: Rename scroll_stop* functions to be more consistent with the lcd api. 2013-12-14 23:11:30 +01:00
radio playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
recorder playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
abrepeat.c
abrepeat.h
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
apps.make
audio_path.c ypr0: This patch adds radio support to Samsung YP-R0 2012-05-28 19:39:14 +02:00
audio_thread.c SWCODEC Audio: Add some INIT_ATTR's to get a few bytes back. 2013-06-29 22:29:23 -04: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 Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02: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 Rename 'mp3entry.embed_cuesheet' to 'mp3entry.embedded_cuesheet' and pull out a field (FS#12473) 2011-12-22 18:56:11 +00:00
cuesheet.h FS #12419 : Support for embedded cuesheets. 2011-12-16 10:09:41 +00:00
debug_menu.c scroll_engine: Rename scroll_stop* functions to be more consistent with the lcd api. 2013-12-14 23:11:30 +01:00
debug_menu.h dbg_ports() : move proto to system.h 2012-01-04 05:21:44 +00:00
enc_config.c
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
language.h
logfdisp.c
logfdisp.h
main.c Fix logdisk 2013-08-16 21:59:16 +02:00
menu.c Remove extraneous parens 2012-05-06 23:13:34 -04:00
menu.h FS#12251 - User shortcuts in the main menu. 2011-11-15 13:22:02 +00:00
misc.c Updated IAP commands. 2013-11-10 18:41:24 +01:00
misc.h New GUI browser to select one (or more) folders. 2012-07-30 21:20:51 +02:00
mpeg.c playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17: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 Fixing data abort (pc in strchr). when scrolling a big playlist very fast. 2012-07-19 00:00:41 +02:00
playlist_viewer.h FS#11808 - Major playlist handling changes (on disk playlists) 2011-07-20 14:11:15 +00:00
plugin.c playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
plugin.h playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
rbcodec_helpers.c Rename HAVE_PITCHSCREEN to HAVE_PITCHCONTROL 2012-05-09 14:32:38 +02:00
rbcodecconfig.h Change CODECFLAGS to a "simply-expanded" var to give the individual 2013-08-23 18:34:30 +02: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 scroll_engine: Major rework to support pixel-based scrolling and scroll callbacks. 2013-12-14 23:11:31 +01:00
screen_access.h scroll_engine: Major rework to support pixel-based scrolling and scroll callbacks. 2013-12-14 23:11:31 +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 scroll_engine: Rename scroll_stop* functions to be more consistent with the lcd api. 2013-12-14 23:11:30 +01:00
settings.h Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
settings_list.c DSP Compressor: Sidechain, Exponential Atk/Rls 2013-12-15 22:24:08 +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
SOURCES Introduce IHIFI760/960 targets. 2013-12-16 00:45:18 +04:00
status.c
status.h
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 Get rid of some superfluous single-purpose functions in playback. 2013-07-13 00:08:51 -04: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 playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
talk.h playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +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 Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02: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