End-to-end rate-based congestion control algorithms are advocated for audio/video transport over the Internet instead of window-based protocols. Once the congestion controller has computed the sending rate, all rate-based algorithms proposed in the literature schedule packets to be sent spaced at intervals that are equal to the inverse of the desired sending rate. In this paper we show that such an implementation exhibits a fundamental flaw. In fact, scheduling the sending time of a packet is affected by significant uncertainty due to the fact that it is handled by the Operating System, which manages a CPU shared by other processes. To overcome this problem, the Rate Mismatch Controller (RMC) is designed aiming at counteracting the disturbance on the effective sending time due to the CPU time-varying load. Experimental results using Linux OS highlight the effectiveness of the proposed controller.