diff options
-rw-r--r-- | apps/codecs/aac.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/apps/codecs/aac.c b/apps/codecs/aac.c index 7d706f4fd8..73267752c9 100644 --- a/apps/codecs/aac.c +++ b/apps/codecs/aac.c | |||
@@ -71,7 +71,7 @@ next_track: | |||
71 | while (!*ci->taginfo_ready && !ci->stop_codec) | 71 | while (!*ci->taginfo_ready && !ci->stop_codec) |
72 | ci->sleep(1); | 72 | ci->sleep(1); |
73 | 73 | ||
74 | sound_samples_done = ci->id3->offset; | 74 | file_offset = ci->id3->offset; |
75 | 75 | ||
76 | ci->configure(DSP_SWITCH_FREQUENCY, ci->id3->frequency); | 76 | ci->configure(DSP_SWITCH_FREQUENCY, ci->id3->frequency); |
77 | codec_set_replaygain(ci->id3); | 77 | codec_set_replaygain(ci->id3); |
@@ -110,8 +110,8 @@ next_track: | |||
110 | 110 | ||
111 | i = 0; | 111 | i = 0; |
112 | 112 | ||
113 | if (sound_samples_done > 0) { | 113 | if (file_offset > 0) { |
114 | if (alac_seek_raw(&demux_res, &input_stream, sound_samples_done, | 114 | if (alac_seek_raw(&demux_res, &input_stream, file_offset, |
115 | &sound_samples_done, (int*) &i)) { | 115 | &sound_samples_done, (int*) &i)) { |
116 | elapsed_time = (sound_samples_done * 10) / (ci->id3->frequency / 100); | 116 | elapsed_time = (sound_samples_done * 10) / (ci->id3->frequency / 100); |
117 | ci->set_elapsed(elapsed_time); | 117 | ci->set_elapsed(elapsed_time); |
@@ -189,7 +189,7 @@ next_track: | |||
189 | goto done; | 189 | goto done; |
190 | } | 190 | } |
191 | 191 | ||
192 | /* Advance codec buffer */ | 192 | /* Advance codec buffer (no need to call set_offset because of this) */ |
193 | ci->advance_buffer(n); | 193 | ci->advance_buffer(n); |
194 | 194 | ||
195 | /* Output the audio */ | 195 | /* Output the audio */ |
@@ -239,10 +239,6 @@ next_track: | |||
239 | sound_samples_done += sample_duration; | 239 | sound_samples_done += sample_duration; |
240 | elapsed_time = (sound_samples_done * 10) / (ci->id3->frequency / 100); | 240 | elapsed_time = (sound_samples_done * 10) / (ci->id3->frequency / 100); |
241 | ci->set_elapsed(elapsed_time); | 241 | ci->set_elapsed(elapsed_time); |
242 | |||
243 | /* Keep track of current position - for resuming */ | ||
244 | ci->set_offset(elapsed_time); | ||
245 | |||
246 | i++; | 242 | i++; |
247 | } | 243 | } |
248 | 244 | ||