summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorWilliam Wilgus <wilgus.william@gmail.com>2021-03-04 08:28:41 -0500
committerWilliam Wilgus <me.theuser@yahoo.com>2021-03-04 13:32:45 +0000
commit80be135d0d39d8f4640e33315c2c04968d024a01 (patch)
treefdf0ed843910456b433f766f7eb7c99fa458e54c /apps
parentde53965e3f83d5741f96a389b039b046f2f01aac (diff)
downloadrockbox-80be135d0d39d8f4640e33315c2c04968d024a01.tar.gz
rockbox-80be135d0d39d8f4640e33315c2c04968d024a01.tar.bz2
rockbox-80be135d0d39d8f4640e33315c2c04968d024a01.zip
OOM on playlist_resume
Discovered on ClipZip but applicable to other LOW MEM targets Back off voice buffer on playlist_resume Change-Id: Ia316c4b7fc1bcb089d3069a13dd7c193edf2ba1e
Diffstat (limited to 'apps')
-rw-r--r--apps/playlist.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/apps/playlist.c b/apps/playlist.c
index 72d126bdc5..af733f486c 100644
--- a/apps/playlist.c
+++ b/apps/playlist.c
@@ -2122,6 +2122,7 @@ int playlist_resume(void)
* default buflib buffers can be moved around which must be avoided */
static struct buflib_callbacks dummy_ops;
/* use mp3 buffer for maximum load speed */
+ talk_buffer_set_policy(TALK_BUFFER_LOOSE); /* back off voice buffer */
handle = core_alloc_maximum("temp", &buflen, &dummy_ops);
if (handle < 0)
panicf("%s(): OOM", __func__);
@@ -2506,6 +2507,7 @@ int playlist_resume(void)
#endif
out:
+ talk_buffer_set_policy(TALK_BUFFER_DEFAULT);
core_free(handle);
return result;
}