summaryrefslogtreecommitdiff
path: root/lib/rbcodec/codecs/aac.c
diff options
context:
space:
mode:
authorroman.artiukhin <bahusdrive@gmail.com>2023-09-18 13:14:47 +0300
committerSolomon Peachy <pizza@shaftnet.org>2023-09-19 11:13:19 -0400
commit001a338e5126cbec422867481ef7485b1b3c8eea (patch)
tree6593e544ee074ca86f79df7d9f04814ce21c323d /lib/rbcodec/codecs/aac.c
parentef7d6009b4f8b2e64d6ced27bc97aad0b520271e (diff)
downloadrockbox-001a338e5126cbec422867481ef7485b1b3c8eea.tar.gz
rockbox-001a338e5126cbec422867481ef7485b1b3c8eea.zip
Codecs: mp4: Reuse lookup_table index from seek in m4a_check_sample_offset
Change-Id: If2fc3038ce8db8ddf2991406a5cce294a857eadc
Diffstat (limited to 'lib/rbcodec/codecs/aac.c')
-rw-r--r--lib/rbcodec/codecs/aac.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/rbcodec/codecs/aac.c b/lib/rbcodec/codecs/aac.c
index 0a4313e69e..11a84cfa24 100644
--- a/lib/rbcodec/codecs/aac.c
+++ b/lib/rbcodec/codecs/aac.c
@@ -138,7 +138,7 @@ enum codec_status codec_run(void)
138 * upsampling files the resulting sound_samples_done must be expanded 138 * upsampling files the resulting sound_samples_done must be expanded
139 * by a factor of 2. This is done via using sbr_fac. */ 139 * by a factor of 2. This is done via using sbr_fac. */
140 if (m4a_seek_raw(&demux_res, &input_stream, file_offset, 140 if (m4a_seek_raw(&demux_res, &input_stream, file_offset,
141 &sound_samples_done, (int*) &i)) { 141 &sound_samples_done, (int*) &i, &seek_idx)) {
142 sound_samples_done *= sbr_fac; 142 sound_samples_done *= sbr_fac;
143 } else { 143 } else {
144 sound_samples_done = 0; 144 sound_samples_done = 0;
@@ -173,11 +173,10 @@ enum codec_status codec_run(void)
173 * by a factor 2. This is done via using sbr_fac. */ 173 * by a factor 2. This is done via using sbr_fac. */
174 if (m4a_seek(&demux_res, &input_stream, 174 if (m4a_seek(&demux_res, &input_stream,
175 (uint64_t) param * ci->id3->frequency / sbr_fac / 1000ULL, 175 (uint64_t) param * ci->id3->frequency / sbr_fac / 1000ULL,
176 &sound_samples_done, (int*) &i)) { 176 &sound_samples_done, (int*) &i, &seek_idx)) {
177 sound_samples_done *= sbr_fac; 177 sound_samples_done *= sbr_fac;
178 elapsed_time = sound_samples_done * 1000LL / ci->id3->frequency; 178 elapsed_time = sound_samples_done * 1000LL / ci->id3->frequency;
179 ci->set_elapsed(elapsed_time); 179 ci->set_elapsed(elapsed_time);
180 seek_idx = 0;
181 180
182 if (i == 0) 181 if (i == 0)
183 { 182 {