The recording buffer should not try to use the voice buffer, so map our buffer after it. On swcodec targets, recording always uses this buffer so always notify the others that we did. Fixes bug 4754.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9841 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Peter D'Hoye 2006-04-30 22:28:45 +00:00
parent 65167c96d3
commit 8e71f90940
2 changed files with 10 additions and 6 deletions

View File

@ -320,11 +320,11 @@ static void trigger_listener(int trigger_status)
case TRIG_GO:
if((audio_status() & AUDIO_STATUS_RECORD) != AUDIO_STATUS_RECORD)
{
talk_buffer_steal(); /* we use the mp3 buffer */
audio_record(rec_create_filename(path_buffer));
talk_buffer_steal(); /* we use the mp3 buffer */
audio_record(rec_create_filename(path_buffer));
/* give control to mpeg thread so that it can start recording */
yield(); yield(); yield();
/* give control to mpeg thread so that it can start recording*/
yield(); yield(); yield();
}
/* if we're already recording this is a retrigger */
@ -567,7 +567,9 @@ bool recording_screen(void)
#endif
peak_meter_enabled = true;
#if CONFIG_CODEC != SWCODEC
if (global_settings.rec_prerecord_time)
#endif
talk_buffer_steal(); /* will use the mp3 buffer */
audio_set_recording_options(global_settings.rec_frequency,
@ -905,7 +907,9 @@ bool recording_screen(void)
}
settings_save();
#if CONFIG_CODEC != SWCODEC
if (global_settings.rec_prerecord_time)
#endif
talk_buffer_steal(); /* will use the mp3 buffer */
audio_set_recording_options(global_settings.rec_frequency,

View File

@ -820,8 +820,8 @@ static void pcmrec_init(void)
is_paused = false;
is_error = false;
rec_buffer = (unsigned char*)(((unsigned long)audiobuf) & ~3);
buffer_size = (long)audiobufend - (long)audiobuf - 16;
rec_buffer = (unsigned char*)(((unsigned long)audiobuf + talk_get_bufsize()) & ~3);
buffer_size = (long)audiobufend - (long)audiobuf - talk_get_bufsize() - 16;
logf("buf size: %d kb", buffer_size/1024);