Intelligent apply function: switches between using buffer or direct seek