05-02-2013, 07:03 AM
Would it help to change the function getRemainFrames in sceAtrac3plus to the following:
Thank you for your analysis and research
Code:
protected int getRemainFrames(AtracID id, int samples) {
int remainFrames = id.getRemainFrames();
if (!id.getInputBuffer().isFileEnd()) {
if (remainFrames > 0 && samples < id.getMaxSamples()) {
// If we could not decode all the requested samples, request more data
id.getInputBuffer().notifyReadAll();
remainFrames = 0;
} else if (id.getAtracCodec().getChannelLength() < 32768 && id.getAtracCurrentSample() > 0) {
// The media engine is reading chunks of 32768 bytes from the channel.
// If the channel contains less than one chunk, request more data,
// but only after the first call to sceAtracDecode().
id.getInputBuffer().notifyReadAll();
remainFrames = 0;
} else if (id.getAtracCodec().getChannelLength() <= 0) {
// If the channel is empty, request more data.
id.getInputBuffer().notifyReadAll();
remainFrames = 0;
}
}
return remainFrames;
}
Always include a complete log file at INFO level in your reports. Thanks! How to post a log