1
0
Fork 0
forked from len0rd/rockbox
foxbox/firmware/export
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
..
config Introduce IHIFI760/960 targets. 2013-12-16 00:45:18 +04:00
adc.h adc-target.h: cleanup 2012-01-08 00:39:29 +00:00
aic3x.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
ak4537.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
akcodec.h
as3514.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
as3525.h Move usb-s3c6400 register comments to usb-s3c6400.h 2011-12-13 04:21:06 +00:00
as3525v2.h GHWCFG* are not as3525v2 specific 2012-01-01 19:21:49 +00:00
ascodec.h remove now unused prototype 2012-01-08 01:44:08 +00:00
at91sam9260.h
ata-defines.h Bulk convert all DOS line endings to UNIX. 2011-11-06 22:44:25 +00:00
ata-driver.h Add STORAGE_INIT_ATTR to some target-specific ATA functions. 2011-12-09 02:07:24 +00:00
ata.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
ata_idle_notify.h fix database tool 2012-07-18 16:23:11 +02:00
ata_mmc.h
audio.h playback,talk: Share audiobuffer via core_alloc_maximum(). 2013-12-23 12:17:38 +01:00
audiohw.h Introduce HiFi E.T. MA8/MA8C ports. 2013-11-05 09:59:45 +04:00
audiohw_settings.h Add DAC's oversampling filter roll-off selection to sound settings. 2013-05-24 11:18:16 +04:00
backlight-sw-fading.h
backlight.h move _remote_backlight_* to common header 2012-01-07 19:32:50 +00:00
bidi.h
bitswap.h
bootchart.h bootchart.h doesn't need _ansi.h, especially not in a relative path 2010-07-25 15:28:24 +00:00
button.h touch devices: Disable touch on softlock. 2013-09-05 20:02:07 +02:00
config.h Introduce IHIFI760/960 targets. 2013-12-16 00:45:18 +04:00
config_caps.h Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
cpu.h Rockchip rk27xx port initial commit. This is still work in progress. 2011-05-30 21:10:37 +00:00
cs42l55.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
cscodec.h New port: iPod Classic (also known as iPod 6G/6.5G/7G) 2011-01-02 23:16:27 +00:00
dac3550a.h Straighten out the mad twisted state of sound.c and related areas. 2013-04-15 12:02:05 -04:00
debug.h Hosted: Merge debugf() implementations. Cleanup debug.h. 2012-01-21 18:39:19 +01:00
df1704.h ma9: Slightly change df1704 driver API. 2013-11-05 09:59:45 +04:00
disk.h Introduce volume_{present,removable} and fix invalid calls in apps/ 2013-11-20 21:34:04 +01:00
dm320.h Sandisk Sansa Connect port (FS #12363) 2011-11-16 14:08:01 +00:00
ds2411.h
dsp-util.h Add rbcodecplatform.h and rbcodecconfig.h. 2012-05-03 14:49:35 +02:00
dummy_codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
eeprom_24cxx.h
eeprom_settings.h
enc_base.h Update software recording engine to latest codec interface. 2013-06-30 00:40:27 +02:00
events.h event classes are single bits 2012-04-22 22:41:50 +10:00
fat.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
filefuncs.h Fix database tool. 2012-07-31 10:33:27 +02:00
fmradio.h
fmradio_i2c.h mark some functions as init functions (discarded after init() has run) 2010-05-27 12:00:29 +00:00
font.h Increase MAXUSERFONTS to 12. 2013-04-01 17:30:38 +02:00
gdb_api.h
general.h Simplify mpegplayer a bit and use array-based lists rather than linked lists for stream management. Move a couple useful functions to handle pointer arrays from kernel.c into general.c; mpeglayer now makes use of them. 2010-05-17 12:34:05 +00:00
generic_i2c.h Apply FS #11423 - Use udelay in AMS driver for FM radio I2C 2010-06-21 21:41:07 +00:00
hangul.h
hd66789r.h
hosted_codec.h Provide high resolution volume and prescaler to hosted targets. 2013-04-27 06:59:27 +02:00
hwcompat.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
i2c-coldfire.h
i2c-pp.h
i2c-rk27xx.h Rockchip rk27xx port initial commit. This is still work in progress. 2011-05-30 21:10:37 +00:00
i2c-s5l8700.h
i2c-s5l8702.h New port: iPod Classic (also known as iPod 6G/6.5G/7G) 2011-01-02 23:16:27 +00:00
i2c.h imx233/fuze+: replace software i2c by hardware i2c, make some code more correct, reduce code size of lcd init sequences 2011-07-03 15:18:41 +00:00
i2s.h
iap.h Updated IAP commands. 2013-11-10 18:41:24 +01:00
ifp_usb_serial.h
imx31l.h Clean up multiple definitions of RAM size. Remove -DMEM (make) and MEM (code), use the already defined MEMORYSIZE instead. 2011-02-02 17:43:32 +00:00
imx233-codec.h fuze+: fix volume bottom limit 2013-09-18 23:09:44 +02:00
imx233.h imx233: fix soc header for stmp3600 and stmp3700 2013-06-18 15:33:07 +02:00
ipod_remote_tuner.h iap: pass length and data pointer to iap_handlepkt functions, this prepares for iap large packet support. 2011-05-02 21:55:13 +00:00
isp1362.h
isp1583.h creative zvm isp1583 defines: move to isp1583.h 2011-12-31 18:44:32 +00:00
jz4740-codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
jz4740.h jz4740: a few minor fixes 2013-03-11 08:33:18 +01:00
jz_mxu.h
kernel.h Updated IAP commands. 2013-11-10 18:41:24 +01:00
lcd-charcell.h
lcd-remote.h scroll_engine: Add STYLE_NONE to allow for drawing lines without styling. 2013-12-14 23:11:31 +01:00
lcd.h Fix reds. Also apply the new scrolling to lcd charcell (this even uncovered an 2013-12-15 00:38:48 +01:00
led.h
load_code.h load_code: Get rid of win32 specific code in favor SDL_LoadFunction & friends APIs. 2012-05-26 22:46:56 +02:00
logdiskf.h logdiskf.h - fix wrong cpp conditionals 2012-10-22 22:36:11 +02:00
logf.h Move some gcc extensions to new gcc_extensions.h header 2010-07-25 14:44:29 +00:00
ltv350qv.h
lv24020lp.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
m5636.h
m66591.h
mas35xx.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
mascodec.h FS#12378 : Removal of Archos HWCODEC unused code and data. Several large hardware-specific functions are kept for reference or future use. 2011-11-22 19:59:31 +00:00
mc13783.h i.MX31: Fix a couple oopses from r31528 2012-01-03 06:13:59 +00:00
mcf5249.h
mcf5250.h
mi4-loader.h Move load_firmware() to separate file 2013-06-27 13:50:11 +02:00
mips-archdefs.h
mips.h
mipsregs.h
mmc.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
mp3_playback.h Use buflib for the allocation of voice PCM resources. 2012-05-02 17:22:28 -04:00
mpr121.h Add the MPR121 (touchbutton chip) driver 2012-05-19 16:10:52 +02:00
mv.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
nand.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
nand_id.h
ohci.h
panic.h Arm stack unwinder 2012-02-22 08:33:26 +01:00
pca9555.h Introduce HiFi E.T MA9 port. 2013-05-06 14:09:24 +04:00
pcf5060x.h
pcf5063x.h
pcf50605.h
pcf50606.h
pcf50635.h
pcm-internal.h Provide high resolution volume and prescaler to hosted targets. 2013-04-27 06:59:27 +02:00
pcm.h Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
pcm1792.h Introduce HiFi E.T. MA8/MA8C ports. 2013-11-05 09:59:45 +04:00
pcm_mixer.h Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
pcm_sampr.h Enable setting of global output samplerate on certain targets. 2013-07-06 04:22:04 +02:00
pcm_sw_volume.h Provide high resolution volume and prescaler to hosted targets. 2013-04-27 06:59:27 +02:00
pl081.h
pl180.h
pnx0101.h
power.h Rework powermgmt to enable code re-use on appliation and sims. 2012-01-03 23:44:38 +00:00
powermgmt.h Add set_sleeptimer_duration function in minutes 2012-10-06 11:59:13 +02:00
pp5002.h Revise the PCM callback system after adding multichannel audio. 2012-03-03 07:23:38 +01:00
pp5020.h Bootloader USB mode for PP502x. Enable only on GoGear SA9200 for the time being. Add HAVE_BOOTLOADER_USB_MODE to config if BOOTLOADER is defined to enable it. Clean up some kernel stuff a little to support it. Mess up a bunch of other stuff (hopefully not too badly). 2011-01-15 08:19:30 +00:00
pp5024.h
pp6100.h
profile.h
qt1106.h
r61509.h
ramdisk.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
rbpaths.h Fix database tool. 2012-07-31 10:33:27 +02:00
rda5802.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
rds.h rds: add basic RDS clock-time support 2012-02-18 11:02:13 +01:00
rk27xx.h Revert "rk27xx: implement usb driver" 2013-08-11 19:21:24 +02:00
rk27xx_codec.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
rkw-loader.h rename rkw.h header file 2012-03-04 00:36:02 +01:00
rolo.h
rtc.h rtc_enable_alarm() needs no return value 2010-05-22 00:28:26 +00:00
s1a0903x01.h
s3c2440.h s5l870x : use mmu-arm.S 2010-04-13 15:59:49 +00:00
s5l8700.h s5l870x: use usb-s3c6400 defines 2011-12-13 05:25:57 +00:00
s5l8702.h iPod Classic/6G: PCM support for all CS42L55 rates 2013-01-09 22:08:28 +01:00
screendump.h Really fix yellow: Rename BMP_LINESIZE and BMP_BPP to get rid of the macro name collision 2010-10-25 12:52:02 +00:00
scroll_engine.h Fix reds. Also apply the new scrolling to lcd charcell (this even uncovered an 2013-12-15 00:38:48 +01:00
sd.h storage: fix MD vs MV confusion 2013-12-06 01:55:21 +01:00
sdmmc.h imx233: merge sd and mmc drivers, fix dma issues 2012-08-18 18:24:42 +02:00
serial.h
sh7034.h
si4700.h RDS: Use a define that doesn't imply any particular hardware dependency. 2011-12-29 14:55:49 +00:00
sound.h Add DAC's oversampling filter roll-off selection to sound settings. 2013-05-24 11:18:16 +04:00
spdif.h
spi.h Clean spi.h and spi-target.h 2012-01-07 22:04:12 +00:00
stfm1000.h zenxfi3&stfm1000: implement fmradio i2c and debug screen 2012-05-19 18:04:25 +02:00
storage.h Cleanup MV/MD macros a little. 2013-08-17 12:18:22 -04:00
structec.h
sw_i2c.h
synaptics-mep.h SA9200: Adjust touchpad sensitivities so that actual contact with the player is needed to cause button presses and hopefully those settings will work nicely. Add a parameter read function to the MEP driver for debugging and RE purposes; enable compilation of it if you want to use it. Make a note in power-sa9200.c about button inits. 2011-01-11 23:48:29 +00:00
synaptics-rmi.h rmi/fuze+: add product info in the debug screen 2013-12-08 11:12:39 +01:00
system.h Fundamentally rewrite much of the audio DSP. 2012-04-29 10:00:56 +02:00
tcc77x.h Define CACHEALIGN_BITS for missing ARM CPUs for later use. 2010-11-19 07:17:20 +00:00
tcc780x.h Define CACHEALIGN_BITS for missing ARM CPUs for later use. 2010-11-19 07:17:20 +00:00
tea5760.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
tea5767.h Signal strength meter for FM radio - FS#8151 by Przemysław Hołubowski 2010-11-11 21:13:29 +00:00
thread.h Refactor audio thread to run both recording and playback. 2013-05-31 03:20:35 -04:00
timer.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
tlv320.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
touchpad.h touch devices: Disable touch on softlock. 2013-09-05 20:02:07 +02:00
touchscreen.h fix red 2013-09-05 20:35:51 +02:00
tsc200x.h
tsc2100.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
tuner.h Add stub STFM1000 tuner driver 2012-05-19 16:10:52 +02:00
uda1341.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
uda1380.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
udacodec.h
usb-s3c6400x.h GHWCFG* are not as3525v2 specific 2012-01-01 19:21:49 +00:00
usb-tcc.h
usb.h usb: add support for hardware handled SET ADDR/CONFIG 2012-12-07 13:37:26 +01:00
usb_ch9.h
usb_core.h usb: add support for hardware handled SET ADDR/CONFIG 2012-12-07 13:37:26 +01:00
usb_drv.h Get rid of usb_drv_attach() from USB code. 2013-05-14 22:13:38 -04:00
wm8731.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wm8751.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wm8758.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wm8975.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wm8978.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wm8985.h Do some cleanup, adjustment and a couple fixes to recent sound changes. 2013-04-22 20:38:17 -04:00
wmcodec.h