AVStream *st;
uint32_t tag;
int i, ret;
- int total_blocks;
+ int64_t total_blocks;
int64_t final_size = 0;
int64_t pts, file_size;
if (!st)
return AVERROR(ENOMEM);
- total_blocks = (ape->totalframes == 0) ? 0 : ((ape->totalframes - 1) * ape->blocksperframe) + ape->finalframeblocks;
+ total_blocks = (ape->totalframes == 0) ? 0 : ((int64_t)(ape->totalframes - 1) * ape->blocksperframe) + ape->finalframeblocks;
st->codecpar->codec_type = AVMEDIA_TYPE_AUDIO;
st->codecpar->codec_id = AV_CODEC_ID_APE;
/* note: we need to modify the packet size here to handle the last
packet */
pkt->size = ret + extra_size;
+ pkt->duration = nblocks;
ape->currentframe++;