diff options
| author | Linus Nielsen Feltzing <linus@haxx.se> | 2002-11-20 11:47:32 +0000 |
|---|---|---|
| committer | Linus Nielsen Feltzing <linus@haxx.se> | 2002-11-20 11:47:32 +0000 |
| commit | 5e15aeedfc0f228dd53ed3c109812a65de930f16 (patch) | |
| tree | d1fb26cf6f4e2de102c3cbc67f91625039b26260 | |
| parent | 4dd6654bb244c259c3b188837817f3408e9208cc (diff) | |
| download | rockbox-5e15aeedfc0f228dd53ed3c109812a65de930f16.zip rockbox-5e15aeedfc0f228dd53ed3c109812a65de930f16.tar.gz rockbox-5e15aeedfc0f228dd53ed3c109812a65de930f16.tar.bz2 rockbox-5e15aeedfc0f228dd53ed3c109812a65de930f16.tar.xz | |
Instantaneous start of recording
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2865 a1c6a512-1295-4272-9138-f99709370657
| -rw-r--r-- | firmware/mpeg.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/firmware/mpeg.c b/firmware/mpeg.c index 727e81b..b834e5d 100644 --- a/firmware/mpeg.c +++ b/firmware/mpeg.c @@ -1598,13 +1598,13 @@ static void mpeg_thread(void) { case MPEG_RECORD: DEBUGF("Recording...\n"); + reset_mp3_buffer(); + start_recording(); + demand_irq_enable(true); mpeg_file = open((char *)ev.data, O_WRONLY | O_TRUNC | O_CREAT); if(mpeg_file < 0) panicf("recfile: %d", mpeg_file); - reset_mp3_buffer(); - start_recording(); - demand_irq_enable(true); break; case MPEG_STOP: @@ -1648,7 +1648,9 @@ static void mpeg_thread(void) { amount_to_save += mp3buflen; } - + + DEBUGF("r: %x w: %x\n", mp3buf_read, mp3buf_write); + DEBUGF("ats: %x\n", amount_to_save); /* Save data only if the buffer is getting full, or if we should stop recording */ if(amount_to_save) @@ -1656,12 +1658,16 @@ static void mpeg_thread(void) if(mp3buflen - amount_to_save < MPEG_LOW_WATER || stop_pending) { + int rc; + /* Only save up to the end of the buffer */ writelen = MIN(amount_to_save, mp3buflen - mp3buf_read); - - write(mpeg_file, mp3buf + mp3buf_read, - writelen); + + DEBUGF("wrl: %x\n", writelen); + rc = write(mpeg_file, mp3buf + mp3buf_read, + writelen); + DEBUGF("rc: %x\n", rc); mp3buf_read += amount_to_save; if(mp3buf_read >= mp3buflen) |