diff options
author | Thom Johansen <thomj@rockbox.org> | 2006-05-11 22:55:24 +0000 |
---|---|---|
committer | Thom Johansen <thomj@rockbox.org> | 2006-05-11 22:55:24 +0000 |
commit | a4bfe37c6cdcc2e70b2b6d5d486531fa2986370b (patch) | |
tree | 24f01ed56d3197d66e2f66cabbd4a9814ce14b72 /apps/recorder | |
parent | 5725b8cbcbe11c006fe92874dcc5d834e006daa6 (diff) | |
download | rockbox-a4bfe37c6cdcc2e70b2b6d5d486531fa2986370b.tar.gz rockbox-a4bfe37c6cdcc2e70b2b6d5d486531fa2986370b.zip |
Optical S/PDIF recording and monitoring for Iriver H1x0. Removed unsupported recording options on Iriver. Sample rate displayed in recording screen reflects the real S/PDIF sample rate when doing S/PDIF recording. Testing would be appreciated. Thanks to Jens Arnold for fixing the DMA hang issue. Will reset settings!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9916 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/recorder')
-rw-r--r-- | apps/recorder/recording.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c index cf361eea76..854e979ade 100644 --- a/apps/recorder/recording.c +++ b/apps/recorder/recording.c | |||
@@ -577,6 +577,11 @@ bool recording_screen(void) | |||
577 | #endif | 577 | #endif |
578 | talk_buffer_steal(); /* will use the mp3 buffer */ | 578 | talk_buffer_steal(); /* will use the mp3 buffer */ |
579 | 579 | ||
580 | #ifdef HAVE_SPDIF_POWER | ||
581 | /* Tell recording whether we want S/PDIF power enabled at all times */ | ||
582 | audio_set_spdif_power_setting(global_settings.spdif_enable); | ||
583 | #endif | ||
584 | |||
580 | audio_set_recording_options(global_settings.rec_frequency, | 585 | audio_set_recording_options(global_settings.rec_frequency, |
581 | global_settings.rec_quality, | 586 | global_settings.rec_quality, |
582 | global_settings.rec_source, | 587 | global_settings.rec_source, |
@@ -1011,6 +1016,7 @@ bool recording_screen(void) | |||
1011 | unsigned int dseconds, dhours, dminutes; | 1016 | unsigned int dseconds, dhours, dminutes; |
1012 | unsigned long num_recorded_bytes; | 1017 | unsigned long num_recorded_bytes; |
1013 | int pos = 0; | 1018 | int pos = 0; |
1019 | char spdif_sfreq[8]; | ||
1014 | 1020 | ||
1015 | update_countdown = 5; | 1021 | update_countdown = 5; |
1016 | last_seconds = seconds; | 1022 | last_seconds = seconds; |
@@ -1259,12 +1265,21 @@ bool recording_screen(void) | |||
1259 | 2+PM_HEIGHT, true); | 1265 | 2+PM_HEIGHT, true); |
1260 | } | 1266 | } |
1261 | } | 1267 | } |
1262 | 1268 | /* Can't measure S/PDIF sample rate on Archos yet */ | |
1269 | #if CONFIG_CODEC != MAS3587F && defined(HAVE_SPDIF_IN) | ||
1270 | if (global_settings.rec_source == SOURCE_SPDIF) | ||
1271 | snprintf(spdif_sfreq, 8, "%dHz", audio_get_spdif_sample_rate()); | ||
1272 | #else | ||
1273 | (void)spdif_sfreq; | ||
1274 | #endif | ||
1263 | snprintf(buf, 32, "%s %s", | 1275 | snprintf(buf, 32, "%s %s", |
1276 | #if CONFIG_CODEC != MAS3587F && defined(HAVE_SPDIF_IN) | ||
1277 | global_settings.rec_source == SOURCE_SPDIF ? | ||
1278 | spdif_sfreq : | ||
1279 | #endif | ||
1264 | freq_str[global_settings.rec_frequency], | 1280 | freq_str[global_settings.rec_frequency], |
1265 | global_settings.rec_channels? | 1281 | global_settings.rec_channels ? |
1266 | str(LANG_CHANNEL_MONO):str(LANG_CHANNEL_STEREO)); | 1282 | str(LANG_CHANNEL_MONO) : str(LANG_CHANNEL_STEREO)); |
1267 | |||
1268 | FOR_NB_SCREENS(i) | 1283 | FOR_NB_SCREENS(i) |
1269 | screens[i].puts(0, 5+PM_HEIGHT, buf); | 1284 | screens[i].puts(0, 5+PM_HEIGHT, buf); |
1270 | 1285 | ||