fixed: We shouldn't keep reading & seeking source when cache is full