aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Pöschel <github@basicmaster.de>2015-04-18 20:19:46 +0200
committerStefan Pöschel <github@basicmaster.de>2015-04-18 20:19:46 +0200
commitf1a8a0467d4ece32bb95222f3d64312e862bd938 (patch)
tree0b4c1768d41fc15f2baea8c4ec8cdecfe97c1e76
parent8424fa075ee5cbdaa44e099ff2ff00e025650418 (diff)
downloadtoolame-dab-f1a8a0467d4ece32bb95222f3d64312e862bd938.tar.gz
toolame-dab-f1a8a0467d4ece32bb95222f3d64312e862bd938.tar.bz2
toolame-dab-f1a8a0467d4ece32bb95222f3d64312e862bd938.zip
Give padding bytes back to audio
-rw-r--r--toolame.c21
1 files changed, 5 insertions, 16 deletions
diff --git a/toolame.c b/toolame.c
index c115fc0..b2274ad 100644
--- a/toolame.c
+++ b/toolame.c
@@ -273,7 +273,7 @@ int main (int argc, char **argv)
/* see bitstream.c */
if (frameNum == 1)
minimum = lg_frame + MINIMUM;
- adb -= header.dab_extension * 8 + header.dab_length * 8 + 16;
+ adb -= header.dab_extension * 8 + (xpad_len ? xpad_len : FPAD_LENGTH) * 8;
}
{
@@ -483,24 +483,13 @@ int main (int argc, char **argv)
put1bit (&bs, 0);
- if (xpad_len) {
- /* Reserve some bytes for X-PAD in DAB mode */
-
+ if (xpad_len)
assert(xpad_len > 2);
- for (i=header.dab_length-xpad_len+FPAD_LENGTH; i>0; i--) {
- putbits(&bs, 0, 8);
- }
+ // insert available X-PAD
+ for (i = 0; i < xpad_len - FPAD_LENGTH; i++)
+ putbits (&bs, xpad_data[i], 8);
- for (i = 0; i < xpad_len-FPAD_LENGTH; i++) {
- putbits (&bs, xpad_data[i], 8);
- }
- }
- else {
- for (i=header.dab_length; i>0; i--) {
- putbits(&bs, 0, 8);
- }
- }
for (i = header.dab_extension - 1; i >= 0; i--) {
CRC_calcDAB (&frame, bit_alloc, scfsi, scalar, &crc, i);