2008-07-03 04:20:52 +02:00
|
|
|
#include "layout.h"
|
|
|
|
#include "../vgmstream.h"
|
|
|
|
|
|
|
|
/* set up for the block at the given offset */
|
|
|
|
void ws_aud_block_update(off_t block_offset, VGMSTREAM * vgmstream) {
|
|
|
|
int i;
|
|
|
|
vgmstream->current_block_offset = block_offset;
|
|
|
|
vgmstream->current_block_size = read_16bitLE(
|
|
|
|
vgmstream->current_block_offset,
|
|
|
|
vgmstream->ch[0].streamfile);
|
|
|
|
vgmstream->next_block_offset = vgmstream->current_block_offset +
|
|
|
|
vgmstream->current_block_size + 8;
|
|
|
|
|
2008-07-03 23:21:01 +02:00
|
|
|
if (vgmstream->coding_type == coding_WS) {
|
2008-07-04 02:06:51 +02:00
|
|
|
vgmstream->ws_output_size = read_16bitLE(
|
2008-07-03 23:21:01 +02:00
|
|
|
vgmstream->current_block_offset+2,
|
|
|
|
vgmstream->ch[0].streamfile);
|
|
|
|
}
|
|
|
|
|
2008-07-03 04:20:52 +02:00
|
|
|
for (i=0;i<vgmstream->channels;i++) {
|
|
|
|
vgmstream->ch[i].offset = vgmstream->current_block_offset +
|
|
|
|
8 + vgmstream->current_block_size*i;
|
|
|
|
}
|
|
|
|
}
|