From 5ecac908a2738e7a83dc0227daef3aaf16787dbc Mon Sep 17 00:00:00 2001 From: Peter D'Hoye Date: Thu, 9 Mar 2006 18:39:45 +0000 Subject: 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 --- firmware/pcm_record.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/firmware/pcm_record.c b/firmware/pcm_record.c index 500f014b47..1810717dac 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; -- cgit v1.2.3