summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter D'Hoye <peter.dhoye@gmail.com>2006-03-09 18:39:45 +0000
committerPeter D'Hoye <peter.dhoye@gmail.com>2006-03-09 18:39:45 +0000
commit5ecac908a2738e7a83dc0227daef3aaf16787dbc (patch)
tree817b549f211923d8af407142515f8687a99e4a1b
parent40c917132c19cd4b65de553783c6f8d3dbe26b4b (diff)
downloadrockbox-5ecac908a2738e7a83dc0227daef3aaf16787dbc.zip
rockbox-5ecac908a2738e7a83dc0227daef3aaf16787dbc.tar.gz
rockbox-5ecac908a2738e7a83dc0227daef3aaf16787dbc.tar.bz2
rockbox-5ecac908a2738e7a83dc0227daef3aaf16787dbc.tar.xz
Fix by Jvo Studer for bugreport #4799. Recorded bytes counter wasn't updated with pre-recording bytes, causing an issue when file-splitting because of maximum filesize limit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8979 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/pcm_record.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/firmware/pcm_record.c b/firmware/pcm_record.c
index 500f014..1810717 100644
--- a/firmware/pcm_record.c
+++ b/firmware/pcm_record.c
@@ -420,7 +420,8 @@ static void pcmrec_callback(bool flush)
ptr++;
}
- num_rec_bytes += CHUNK_SIZE;
+ if(is_recording && !is_paused)
+ num_rec_bytes += CHUNK_SIZE;
read2_index++;
if (read2_index >= num_chunks)
@@ -460,7 +461,10 @@ static void pcmrec_callback(bool flush)
read_index = 0;
yield();
}
-
+
+ /* sync file */
+ fsync(wav_file);
+
logf("done");
}
}
@@ -641,7 +645,7 @@ static void pcmrec_start(void)
peak_left = 0;
peak_right = 0;
- num_rec_bytes = 0;
+ num_rec_bytes = pre_chunks * CHUNK_SIZE;
num_file_bytes = 0;
pause_start_time = 0;