diff options
| author | Michael Sevakis <jethead71@rockbox.org> | 2007-10-04 12:55:46 +0000 |
|---|---|---|
| committer | Michael Sevakis <jethead71@rockbox.org> | 2007-10-04 12:55:46 +0000 |
| commit | 84d28e8f78c95aeec6f776b089de2f6896d879e3 (patch) | |
| tree | 19bc5700598f05479b33b432076628ffa07a5e43 | |
| parent | 84fcf967e4c4ebe94436665873a70519ec8408cd (diff) | |
| download | rockbox-84d28e8f78c95aeec6f776b089de2f6896d879e3.zip rockbox-84d28e8f78c95aeec6f776b089de2f6896d879e3.tar.gz rockbox-84d28e8f78c95aeec6f776b089de2f6896d879e3.tar.bz2 rockbox-84d28e8f78c95aeec6f776b089de2f6896d879e3.tar.xz | |
Fix up the recording monitoring for e200 and I expect for c200 as well whenever recording is enabled there.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14980 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/target/arm/pcm-pp.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/firmware/target/arm/pcm-pp.c b/firmware/target/arm/pcm-pp.c index 4d716fc..f38757e 100644 --- a/firmware/target/arm/pcm-pp.c +++ b/firmware/target/arm/pcm-pp.c @@ -406,6 +406,11 @@ void fiq_record(void) /* TODO: Figure out how to do IIS loopback */ if (audio_output_source != AUDIO_SRC_PLAYBACK) { + if ((IISFIFO_CFG & (0x3f << 16)) >= (16 << 16)) { + /* Resync the output FIFO - it ran dry */ + IISFIFO_WR = 0; + IISFIFO_WR = 0; + } IISFIFO_WR = value1; IISFIFO_WR = value1; } @@ -428,6 +433,12 @@ void fiq_record(void) p_size -= 4; if (audio_output_source != AUDIO_SRC_PLAYBACK) { + if ((IISFIFO_CFG & (0x3f << 16)) >= (16 << 16)) { + /* Resync the output FIFO - it ran dry */ + IISFIFO_WR = 0; + IISFIFO_WR = 0; + } + value1 = *((int32_t *)p - 1); IISFIFO_WR = value1; IISFIFO_WR = value1; |