The perceived video quality in a wireless streaming application strongly depends on the channel's dynamics and the fluctuations of the source bit rate. In this paper, we introduce two channel-adaptive rate control schemes for slowly and fast varying channels, respectively. Both schemes account for the playback buffer occupancy in the joint optimization of the source rate and channel-code forward error correction parameters. For the first scheme, we assume that the channel state does not change during the transmission of a video frame. We optimize the channel-code parameters and maximize the per-frame source rate subject to satisfying a constraint on the probability of delivering the next video frame within a buffer-occupancy-dependent critical time (Tc). For the second scheme, we allow the channel state to change within the frame delivery period, and we compute the optimal system parameters and maximize the source rate while satisfying a constraint on the mean frame delivery time. Our schemes aim at maintaining the occupancy of the playback buffer around a predefined threshold value, hence ensuring continuous video playback. Simulation and numerical investigations are carried out to study the interactions among various key parameters and verify the adequacy of the analysis.