summaryrefslogtreecommitdiff
path: root/firmware/thread.c
diff options
context:
space:
mode:
authorMichael Sevakis <jethead71@rockbox.org>2007-03-06 20:32:13 +0000
committerMichael Sevakis <jethead71@rockbox.org>2007-03-06 20:32:13 +0000
commitb425de71df7acdc82b4e466a5bac709d0dc15f64 (patch)
tree341a404edde5d4192bbf45b1b63f605f81ef3d8a /firmware/thread.c
parentbf133996d52eb6adb04c103a15ef18af1ccc7674 (diff)
downloadrockbox-b425de71df7acdc82b4e466a5bac709d0dc15f64.zip
rockbox-b425de71df7acdc82b4e466a5bac709d0dc15f64.tar.gz
rockbox-b425de71df7acdc82b4e466a5bac709d0dc15f64.tar.bz2
rockbox-b425de71df7acdc82b4e466a5bac709d0dc15f64.tar.xz
Fix problem with recording screen creep and bag a bigfoot. Voice clips aren't long enough now to untrigger the thread boost that was supposed to be applied to the codec thread. The voice thread was needlessly boosting the codec thread and leaving it boosted which explains the encoders' ability to flood the output buffer when everything else was stopped in its tracks. Check which thread is calling pcmbuf_under_watermark and only initiate the boost when it's the codec thread. Always return the codec thread to its usual priority in pcmbuf_play_stop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12649 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/thread.c')
-rw-r--r--firmware/thread.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/firmware/thread.c b/firmware/thread.c
index 281ab0f..614286c 100644
--- a/firmware/thread.c
+++ b/firmware/thread.c
@@ -776,6 +776,11 @@ int thread_get_priority(struct thread_entry *thread)
}
#endif
+struct thread_entry * thread_get_current(void)
+{
+ return cores[CURRENT_CORE].running;
+}
+
void init_threads(void)
{
unsigned int core = CURRENT_CORE;