}
chunkLen = (int) Math.min( BUFSIZE, len - framesCopied );
synchronized( f ) {
if( f.getFramePosition() != fOffset ) {
f.seekFrame( fOffset );
}
for( int k = 0; k < channelMap.length; k++, j++ ) {
mappedData[ channelMap[ k ]] = data[ j ];
}
f.readFrames( mappedData, 0, chunkLen );