diff options
-rw-r--r-- | apps/codecs/a52.c | 12 | ||||
-rw-r--r-- | apps/playback.c | 1 |
2 files changed, 12 insertions, 1 deletions
diff --git a/apps/codecs/a52.c b/apps/codecs/a52.c index 71e0fda432..0c69c6a2c7 100644 --- a/apps/codecs/a52.c +++ b/apps/codecs/a52.c | |||
@@ -161,7 +161,17 @@ next_track: | |||
161 | state = a52_init(0); | 161 | state = a52_init(0); |
162 | 162 | ||
163 | /* The main decoding loop */ | 163 | /* The main decoding loop */ |
164 | samplesdone = 0; | 164 | if (ci->id3->offset) { |
165 | if (ci->seek_buffer(ci->id3->offset)) { | ||
166 | samplesdone = (ci->id3->offset / ci->id3->bytesperframe) * | ||
167 | A52_SAMPLESPERFRAME; | ||
168 | ci->set_elapsed(samplesdone/(ci->id3->frequency / 1000)); | ||
169 | } | ||
170 | } | ||
171 | else { | ||
172 | samplesdone = 0; | ||
173 | } | ||
174 | |||
165 | while (1) { | 175 | while (1) { |
166 | if (ci->stop_codec || ci->new_track) | 176 | if (ci->stop_codec || ci->new_track) |
167 | break; | 177 | break; |
diff --git a/apps/playback.c b/apps/playback.c index 41f43554e8..12e36e196e 100644 --- a/apps/playback.c +++ b/apps/playback.c | |||
@@ -1762,6 +1762,7 @@ static bool audio_load_track(int offset, bool start_play, bool rebuffer) | |||
1762 | case AFMT_OGG_VORBIS: | 1762 | case AFMT_OGG_VORBIS: |
1763 | case AFMT_FLAC: | 1763 | case AFMT_FLAC: |
1764 | case AFMT_PCM_WAV: | 1764 | case AFMT_PCM_WAV: |
1765 | case AFMT_A52: | ||
1765 | tracks[track_widx].id3.offset = offset; | 1766 | tracks[track_widx].id3.offset = offset; |
1766 | break; | 1767 | break; |
1767 | } | 1768 | } |