aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefan Pöschel <github@basicmaster.de>2015-04-11 11:37:04 +0200
committerStefan Pöschel <github@basicmaster.de>2015-04-11 11:37:04 +0200
commit8424fa075ee5cbdaa44e099ff2ff00e025650418 (patch)
tree3ed0412b4d915dfbe543ad67f31a934f52dac8dc
parentc7731d2161cbbced2fa2da0e55c9c6e0712bec06 (diff)
downloadtoolame-dab-8424fa075ee5cbdaa44e099ff2ff00e025650418.tar.gz
toolame-dab-8424fa075ee5cbdaa44e099ff2ff00e025650418.tar.bz2
toolame-dab-8424fa075ee5cbdaa44e099ff2ff00e025650418.zip
Request PAD at single location
-rw-r--r--toolame.c46
1 files changed, 21 insertions, 25 deletions
diff --git a/toolame.c b/toolame.c
index d1bbd45..c115fc0 100644
--- a/toolame.c
+++ b/toolame.c
@@ -180,7 +180,7 @@ int main (int argc, char **argv)
print_config (&frame, &model, original_file_name, encoded_file_name);
uint8_t* xpad_data = NULL;
- if (mot_file != NULL) {
+ if (mot_file) {
if (header.dab_length <= 0 ||
header.dab_length > 58) {
fprintf(stderr, "Invalid XPAD length specified\n");
@@ -195,10 +195,6 @@ int main (int argc, char **argv)
xpad_data = malloc(header.dab_length);
}
- int xpad_len = xpad_read_len(xpad_data, header.dab_length);
- if (xpad_len == -1) {
- return 1;
- }
/* this will load the alloc tables and do some other stuff */
hdr_to_frps (&frame);
@@ -207,6 +203,26 @@ int main (int argc, char **argv)
unsigned long samps_read;
while ((samps_read = get_audio(&musicin, buffer, num_samples, nch, &header)) > 0) {
+ /* Check if we have new PAD data
+ */
+ int xpad_len = 0;
+ if (mot_file) {
+ xpad_len = xpad_read_len(xpad_data, header.dab_length);
+
+ if (xpad_len == -1) {
+ fprintf(stderr, "Error reading XPAD data\n");
+ xpad_len = 0;
+ }
+ else if (xpad_len == 0 ||
+ xpad_len == header.dab_length) {
+ // everything OK
+ }
+ else {
+ fprintf(stderr, "xpad length=%d\n", xpad_len);
+ abort();
+ }
+ }
+
unsigned long j;
for (j = 0; j < samps_read; j++) {
peak_left = MAX(peak_left, buffer[0][j]);
@@ -504,26 +520,6 @@ int main (int argc, char **argv)
putbits (&bs, 0, 16); // FPAD is all-zero
}
- /* Check if we have new PAD data for the next frame
- */
- if (mot_file) {
- /* set xpad-length for next frame */
- int new_xpad_len = xpad_read_len(xpad_data, header.dab_length);
-
- if (new_xpad_len == -1) {
- fprintf(stderr, "Error reading XPAD data\n");
- xpad_len = 0;
- }
- else if (new_xpad_len == 0 ||
- new_xpad_len == header.dab_length) {
- xpad_len = new_xpad_len;
- }
- else {
- fprintf(stderr, "new xpad length=%d\n", new_xpad_len);
- abort();
- }
- }
-
frameBits = sstell (&bs) - sentBits;