it's very strange to multiply offset (which usually in bytes and takes multichanneling into consideration) by cn