X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=wmadec_filter.c;h=1f72293273f32cac61b39ad669af2b0310b146ff;hp=96fb50082d2bff52ba082904341851048c66c6ef;hb=d5538ff0dd9f6531a1a319b49c32bd72597fb2c3;hpb=e90440367f744a7723b201a95888e66f070ffa92 diff --git a/wmadec_filter.c b/wmadec_filter.c index 96fb5008..1f722932 100644 --- a/wmadec_filter.c +++ b/wmadec_filter.c @@ -1010,7 +1010,7 @@ static int wma_decode_block(struct private_wmadec_data *pwd) } next: for (ch = 0; ch < pwd->ahi.channels; ch++) { - int n4, index; + int n4, idx; n = pwd->block_len; n4 = pwd->block_len / 2; @@ -1020,8 +1020,8 @@ next: memset(pwd->output, 0, sizeof(pwd->output)); /* multiply by the window and add in the frame */ - index = (pwd->frame_len / 2) + pwd->block_pos - n4; - wma_window(pwd, &pwd->frame_out[ch][index]); + idx = (pwd->frame_len / 2) + pwd->block_pos - n4; + wma_window(pwd, &pwd->frame_out[ch][idx]); } /* update block number */ @@ -1208,19 +1208,8 @@ static int wmadec_execute(struct btr_node *btrn, const char *cmd, char **result) struct filter_node *fn = btr_context(btrn); struct private_wmadec_data *pwd = fn->private_data; - if (!strcmp(cmd, "samplerate")) { - if (pwd->ahi.sample_rate == 0) - return -E_BTR_NAVAIL; - *result = make_message("%u", pwd->ahi.sample_rate); - return 1; - } - if (!strcmp(cmd, "channels")) { - if (pwd->ahi.channels == 0) - return -E_BTR_NAVAIL; - *result = make_message("%u", pwd->ahi.channels); - return 1; - } - return -ERRNO_TO_PARA_ERROR(ENOTSUP); + return decoder_execute(cmd, pwd->ahi.sample_rate, pwd->ahi.channels, + result); } #define WMA_OUTPUT_BUFFER_SIZE (128 * 1024) @@ -1279,7 +1268,7 @@ next_buffer: } success: btr_consume(btrn, converted); - goto next_buffer; + return; err: assert(ret < 0); t->error = ret;