summaryrefslogtreecommitdiff
path: root/firmware
diff options
context:
space:
mode:
Diffstat (limited to 'firmware')
-rw-r--r--firmware/mp3data.c21
1 files changed, 8 insertions, 13 deletions
diff --git a/firmware/mp3data.c b/firmware/mp3data.c
index 519bc60b04..3c9264b7cc 100644
--- a/firmware/mp3data.c
+++ b/firmware/mp3data.c
@@ -158,23 +158,18 @@ static bool mp3headerinfo(struct mp3info *info, unsigned long header)
158 / info->frequency + info->padding; 158 / info->frequency + info->padding;
159 } 159 }
160 160
161 /* Frametime fraction calculation. 161 /* Frametime fraction denominator */
162 This fraction is reduced as far as possible. */ 162 if (freqindex != 0) { /* 48/32/24/16/12/8 kHz */
163 if (freqindex != 0) { /* 48/32/24/16/12/8 kHz */ 163 info->ft_den = 1; /* integer number of milliseconds */
164 /* integer number of milliseconds, denominator == 1 */
165 info->ft_num = 1000 * info->frame_samples / info->frequency;
166 info->ft_den = 1;
167 } 164 }
168 else { /* 44.1/22.05/11.025 kHz */ 165 else { /* 44.1/22.05/11.025 kHz */
169 if (info->layer == 0) { 166 if (info->layer == 0) /* layer 1 */
170 info->ft_num = 147000 * 384 / info->frequency;
171 info->ft_den = 147; 167 info->ft_den = 147;
172 } 168 else /* layer 2+3 */
173 else {
174 info->ft_num = 49000 * info->frame_samples / info->frequency;
175 info->ft_den = 49; 169 info->ft_den = 49;
176 }
177 } 170 }
171 /* Frametime fraction numerator */
172 info->ft_num = 1000 * info->ft_den * info->frame_samples / info->frequency;
178 173
179 info->channel_mode = (header & CHANNELMODE_MASK) >> 6; 174 info->channel_mode = (header & CHANNELMODE_MASK) >> 6;
180 info->mode_extension = (header & MODE_EXT_MASK) >> 4; 175 info->mode_extension = (header & MODE_EXT_MASK) >> 4;