diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2007-11-11 19:11:23 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2007-11-11 19:11:23 +0000 |
commit | 6e36ac547c23c3890439a3b81772d7e3c1ce938d (patch) | |
tree | 67b5bbeb4d01774411c11fc72dbb56f913ae6cf4 /firmware/target | |
parent | 31ea780ee0df7c6b2eadc61287fe8a7dcb81ba52 (diff) | |
download | rockbox-6e36ac547c23c3890439a3b81772d7e3c1ce938d.tar.gz rockbox-6e36ac547c23c3890439a3b81772d7e3c1ce938d.zip |
H10: Touch-up the audio source switching a bit. Actually fix my earlier errors when enabling recording from Line/FM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15580 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/audio-pp.c | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/firmware/target/arm/audio-pp.c b/firmware/target/arm/audio-pp.c index 783342ef37..2c94e36359 100644 --- a/firmware/target/arm/audio-pp.c +++ b/firmware/target/arm/audio-pp.c | |||
@@ -47,8 +47,8 @@ void audio_input_mux(int source, unsigned flags) | |||
47 | #ifdef HAVE_RECORDING | 47 | #ifdef HAVE_RECORDING |
48 | if (source != last_source) | 48 | if (source != last_source) |
49 | { | 49 | { |
50 | audiohw_disable_recording(); | ||
51 | audiohw_set_monitor(false); | 50 | audiohw_set_monitor(false); |
51 | audiohw_disable_recording(); | ||
52 | } | 52 | } |
53 | #endif | 53 | #endif |
54 | break; | 54 | break; |
@@ -56,8 +56,8 @@ void audio_input_mux(int source, unsigned flags) | |||
56 | case AUDIO_SRC_MIC: /* recording only */ | 56 | case AUDIO_SRC_MIC: /* recording only */ |
57 | if (source != last_source) | 57 | if (source != last_source) |
58 | { | 58 | { |
59 | audiohw_enable_recording(true); /* source mic */ | ||
60 | audiohw_set_monitor(false); | 59 | audiohw_set_monitor(false); |
60 | audiohw_enable_recording(true); /* source mic */ | ||
61 | } | 61 | } |
62 | break; | 62 | break; |
63 | #endif | 63 | #endif |
@@ -69,8 +69,8 @@ void audio_input_mux(int source, unsigned flags) | |||
69 | #endif | 69 | #endif |
70 | if (source != last_source) | 70 | if (source != last_source) |
71 | { | 71 | { |
72 | audiohw_enable_recording(false); /* source line */ | ||
73 | audiohw_set_monitor(false); | 72 | audiohw_set_monitor(false); |
73 | audiohw_enable_recording(false); /* source line */ | ||
74 | } | 74 | } |
75 | break; | 75 | break; |
76 | #endif | 76 | #endif |
@@ -88,8 +88,16 @@ void audio_input_mux(int source, unsigned flags) | |||
88 | 88 | ||
89 | last_recording = recording; | 89 | last_recording = recording; |
90 | 90 | ||
91 | audiohw_enable_recording(false); /* select line-in source */ | 91 | if (recording) |
92 | audiohw_set_monitor(!recording); /* enable bypass mode */ | 92 | { |
93 | audiohw_set_monitor(false); /* disable bypass mode */ | ||
94 | audiohw_enable_recording(false); /* select line-in source */ | ||
95 | } | ||
96 | else | ||
97 | { | ||
98 | audiohw_disable_recording(); | ||
99 | audiohw_set_monitor(true); /* enable bypass mode */ | ||
100 | } | ||
93 | break; | 101 | break; |
94 | #endif | 102 | #endif |
95 | } /* end switch */ | 103 | } /* end switch */ |