summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2011-09-27 20:29:12 +0200
committerGravatar waker <wakeroid@gmail.com>2011-09-27 20:29:12 +0200
commit82fded1e43d06926f534e4c71ba5dbfffe25de94 (patch)
tree1feb862f676c62ede0ec55d03f4786b77644d083
parent4953fd594353cde2030ce8ad20d9093524fa305a (diff)
aac adts parser rdb check fix
-rw-r--r--plugins/aac/aac.c14
-rw-r--r--plugins/aac/aac_parser.c5
2 files changed, 10 insertions, 9 deletions
diff --git a/plugins/aac/aac.c b/plugins/aac/aac.c
index 21384c2e..08943fd2 100644
--- a/plugins/aac/aac.c
+++ b/plugins/aac/aac.c
@@ -975,14 +975,12 @@ aac_seek_sample (DB_fileinfo_t *_info, int sample) {
info->skipsamples = sample - info->mp4sample * (info->mp4framesize-1);
}
else {
- if (sample < info->currentsample, 1) {
- int skip = deadbeef->junk_get_leading_size (info->file);
- if (skip >= 0) {
- deadbeef->fseek (info->file, skip, SEEK_SET);
- }
- else {
- deadbeef->fseek (info->file, 0, SEEK_SET);
- }
+ int skip = deadbeef->junk_get_leading_size (info->file);
+ if (skip >= 0) {
+ deadbeef->fseek (info->file, skip, SEEK_SET);
+ }
+ else {
+ deadbeef->fseek (info->file, 0, SEEK_SET);
}
int res = seek_raw_aac (info, sample);
diff --git a/plugins/aac/aac_parser.c b/plugins/aac/aac_parser.c
index 07c1ca6a..ea274989 100644
--- a/plugins/aac/aac_parser.c
+++ b/plugins/aac/aac_parser.c
@@ -88,7 +88,10 @@ aac_sync(const uint8_t *buf, int *channels, int *sample_rate, int *bit_rate, int
return 0;
}
int adts_buffer_fullness = ((buf[5] & 0x1F) << 3) | ((buf[6] & 0xFC) >> 2);
- rdb = buf[7] & 0x03;
+ rdb = buf[6] & 0x03;
+ if (!rdb) {
+ rdb = buf[7] & 0x03;
+ }
trace ("rdb: %d\n", rdb);
*channels = aac_channels[channel_conf];