diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2003-07-22 18:34:23 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2003-07-22 18:34:23 +0000 |
commit | 4bb3f80f2737ff86c4a8fdb074a1a7bce0aa3624 (patch) | |
tree | 83b7ef70d19188765012ac5ba648a85c32f17637 | |
parent | cad92039846dfe6da48b385c350f3456bb990527 (diff) | |
download | rockbox-4bb3f80f2737ff86c4a8fdb074a1a7bce0aa3624.tar.gz rockbox-4bb3f80f2737ff86c4a8fdb074a1a7bce0aa3624.zip |
Setting the lowest mic gain no longer turns off the mic (bug #774349)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3865 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/recorder/recording.c | 5 | ||||
-rw-r--r-- | firmware/export/mpeg.h | 2 | ||||
-rw-r--r-- | firmware/mpeg.c | 9 |
3 files changed, 8 insertions, 8 deletions
diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c index ff79be24f7..f8a719db1b 100644 --- a/apps/recorder/recording.c +++ b/apps/recorder/recording.c | |||
@@ -72,13 +72,12 @@ static void set_gain(void) | |||
72 | { | 72 | { |
73 | if(global_settings.rec_source == SOURCE_MIC) | 73 | if(global_settings.rec_source == SOURCE_MIC) |
74 | { | 74 | { |
75 | mpeg_set_recording_gain(0, 0, | 75 | mpeg_set_recording_gain(global_settings.rec_mic_gain, 0, true); |
76 | global_settings.rec_mic_gain); | ||
77 | } | 76 | } |
78 | else | 77 | else |
79 | { | 78 | { |
80 | mpeg_set_recording_gain(global_settings.rec_left_gain, | 79 | mpeg_set_recording_gain(global_settings.rec_left_gain, |
81 | global_settings.rec_right_gain, 0); | 80 | global_settings.rec_right_gain, false); |
82 | } | 81 | } |
83 | } | 82 | } |
84 | 83 | ||
diff --git a/firmware/export/mpeg.h b/firmware/export/mpeg.h index dda93f811d..9f266bf9e5 100644 --- a/firmware/export/mpeg.h +++ b/firmware/export/mpeg.h | |||
@@ -89,7 +89,7 @@ void mpeg_record(char *filename); | |||
89 | void mpeg_set_recording_options(int frequency, int quality, | 89 | void mpeg_set_recording_options(int frequency, int quality, |
90 | int source, int channel_mode, | 90 | int source, int channel_mode, |
91 | bool editable); | 91 | bool editable); |
92 | void mpeg_set_recording_gain(int left, int right, int mic); | 92 | void mpeg_set_recording_gain(int left, int right, bool use_mic); |
93 | unsigned long mpeg_recorded_time(void); | 93 | unsigned long mpeg_recorded_time(void); |
94 | unsigned long mpeg_num_recorded_bytes(void); | 94 | unsigned long mpeg_num_recorded_bytes(void); |
95 | #endif | 95 | #endif |
diff --git a/firmware/mpeg.c b/firmware/mpeg.c index 22776150dc..b59c058598 100644 --- a/firmware/mpeg.c +++ b/firmware/mpeg.c | |||
@@ -2142,7 +2142,7 @@ static void init_recording(void) | |||
2142 | mas_writereg(0xa3, 0x90); | 2142 | mas_writereg(0xa3, 0x90); |
2143 | } | 2143 | } |
2144 | 2144 | ||
2145 | /* Enable the Left A/D Converter */ | 2145 | /* Enable A/D Converters */ |
2146 | mas_codec_writereg(0x0, 0xcccd); | 2146 | mas_codec_writereg(0x0, 0xcccd); |
2147 | 2147 | ||
2148 | /* Copy left channel to right (mono mode) */ | 2148 | /* Copy left channel to right (mono mode) */ |
@@ -2925,14 +2925,15 @@ void mpeg_set_recording_options(int frequency, int quality, | |||
2925 | } | 2925 | } |
2926 | } | 2926 | } |
2927 | 2927 | ||
2928 | void mpeg_set_recording_gain(int left, int right, int mic) | 2928 | /* If use_mic is true, the left gain is used */ |
2929 | void mpeg_set_recording_gain(int left, int right, bool use_mic) | ||
2929 | { | 2930 | { |
2930 | /* Enable both left and right A/D */ | 2931 | /* Enable both left and right A/D */ |
2931 | mas_codec_writereg(0x0, | 2932 | mas_codec_writereg(0x0, |
2932 | (left << 12) | | 2933 | (left << 12) | |
2933 | (right << 8) | | 2934 | (right << 8) | |
2934 | (mic << 4) | | 2935 | (left << 4) | |
2935 | (mic?0x0008:0) | /* Connect left A/D to mic */ | 2936 | (use_mic?0x0008:0) | /* Connect left A/D to mic */ |
2936 | 0x0007); | 2937 | 0x0007); |
2937 | } | 2938 | } |
2938 | 2939 | ||