diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2007-03-06 20:32:13 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2007-03-06 20:32:13 +0000 |
commit | b425de71df7acdc82b4e466a5bac709d0dc15f64 (patch) | |
tree | 341a404edde5d4192bbf45b1b63f605f81ef3d8a /firmware/thread.c | |
parent | bf133996d52eb6adb04c103a15ef18af1ccc7674 (diff) | |
download | rockbox-b425de71df7acdc82b4e466a5bac709d0dc15f64.tar.gz rockbox-b425de71df7acdc82b4e466a5bac709d0dc15f64.zip |
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.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/firmware/thread.c b/firmware/thread.c index 281ab0fa54..614286c422 100644 --- a/firmware/thread.c +++ b/firmware/thread.c | |||
@@ -776,6 +776,11 @@ int thread_get_priority(struct thread_entry *thread) | |||
776 | } | 776 | } |
777 | #endif | 777 | #endif |
778 | 778 | ||
779 | struct thread_entry * thread_get_current(void) | ||
780 | { | ||
781 | return cores[CURRENT_CORE].running; | ||
782 | } | ||
783 | |||
779 | void init_threads(void) | 784 | void init_threads(void) |
780 | { | 785 | { |
781 | unsigned int core = CURRENT_CORE; | 786 | unsigned int core = CURRENT_CORE; |