summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrandon Low <lostlogic@rockbox.org>2006-12-25 15:38:27 +0000
committerBrandon Low <lostlogic@rockbox.org>2006-12-25 15:38:27 +0000
commitb47bc8abb9130eb08aaff7a7b685d786b179000a (patch)
treec50354407c77dba03e2ed431bc490dfc5b76880d
parent2597a1349772fe505d27cb94392eb4d8a3c3b35d (diff)
downloadrockbox-b47bc8abb9130eb08aaff7a7b685d786b179000a.zip
rockbox-b47bc8abb9130eb08aaff7a7b685d786b179000a.tar.gz
rockbox-b47bc8abb9130eb08aaff7a7b685d786b179000a.tar.bz2
rockbox-b47bc8abb9130eb08aaff7a7b685d786b179000a.tar.xz
Make recording compile without priority scheduling
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11837 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/pcm_record.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/firmware/pcm_record.c b/firmware/pcm_record.c
index b826763..11020e0 100644
--- a/firmware/pcm_record.c
+++ b/firmware/pcm_record.c
@@ -373,7 +373,7 @@ void pcm_rec_init(void)
queue_init(&pcmrec_queue, true);
queue_enable_queue_send(&pcmrec_queue, &pcmrec_queue_send);
create_thread(pcmrec_thread, pcmrec_stack, sizeof(pcmrec_stack),
- pcmrec_thread_name, PRIORITY_RECORDING);
+ pcmrec_thread_name IF_PRIO(, PRIORITY_RECORDING));
} /* pcm_rec_init */
/** audio_* group **/
@@ -801,7 +801,9 @@ static void pcmrec_flush(unsigned flush_num)
static unsigned long last_flush_tick = 0;
unsigned long start_tick;
int num_ready, num;
+#ifdef HAVE_PRIORITY_SCHEDULING
int prio;
+#endif
int i;
num_ready = enc_wr_index - enc_rd_index;
@@ -849,7 +851,9 @@ static void pcmrec_flush(unsigned flush_num)
}
start_tick = current_tick;
+#ifdef HAVE_PRIORITY_SCHEDULING
prio = -1;
+#endif
logf("writing: %d (%d)", num_ready, flush_num);
@@ -857,6 +861,7 @@ static void pcmrec_flush(unsigned flush_num)
for (i = 0; i < num_ready; i++)
{
+#ifdef HAVE_PRIORITY_SCHEDULING
if (prio == -1 && (num >= panic_threshold ||
current_tick - start_tick > 10*HZ))
{
@@ -864,6 +869,7 @@ static void pcmrec_flush(unsigned flush_num)
logf("pcmrec: boost priority");
prio = thread_set_priority(NULL, thread_get_priority(NULL)-1);
}
+#endif
rec_fdata.chunk = GET_ENC_CHUNK(enc_rd_index);
rec_fdata.new_enc_size = rec_fdata.chunk->enc_size;
@@ -889,7 +895,9 @@ static void pcmrec_flush(unsigned flush_num)
if (errors != 0)
break;
+#ifdef HAVE_PRIORITY_SCHEDULING
if (prio == -1)
+#endif
{
num = enc_wr_index - enc_rd_index;
if (num < 0)
@@ -903,14 +911,16 @@ static void pcmrec_flush(unsigned flush_num)
if (rec_fdata.rec_file >= 0)
fsync(rec_fdata.rec_file);
- cpu_boost(false);
+ cpu_boost(false);
+#ifdef HAVE_PRIORITY_SCHEDULING
if (prio != -1)
{
/* return to original priority */
logf("pcmrec: unboost priority");
thread_set_priority(NULL, prio);
}
+#endif
last_flush_tick = current_tick; /* save tick when we left */
logf("done");