05-02-2012, 05:36 PM
I think I've found a workaround for the end of data problem with the new Xuggle during AT3 playback. The workaround is to modify line 315 in the jpcsp.media.MediaEngine class as follows:
The queryStreamMetaData parameter has to be set to false for AT3 decoding to work properly without the end of data read problem, and it has to be set to true for video decoding to work properly. Using decodeVideo to set the queryStreamMetaData parameter in the above code seems to work nicely. I haven't done much testing with this workaround yet, and I'm not even sure that the workaround is a good idea.
I've also tried reducing the look-ahead size in line 365 of the jpcsp.connector.AtracCodec class after applying the workaround above. I've tried reducing the look-ahead size to 0x7000 bytes and AT3 playback still works correctly. However, setting it to 0x6000 causes end of data problem.
Code:
if (container.open(channel, IContainer.Type.READ, null, true, decodeVideo) < 0) {
I've also tried reducing the look-ahead size in line 365 of the jpcsp.connector.AtracCodec class after applying the workaround above. I've tried reducing the look-ahead size to 0x7000 bytes and AT3 playback still works correctly. However, setting it to 0x6000 causes end of data problem.