In this paper, a QoS-oriented cross-layer packet scheduling algorithm is proposed, which takes channel and queue states into account for real-time services in an OFDMA downlink scenario. The algorithm is extended to frequency scheduling in an OFDMA system by performing dynamic channel allocation on a two dimension time-frequency grid including link adaptation by Adaptive Modulation and Coding (AMC). In this way, multi-user diversity can be utilized in time domain and in frequency domain. Compared to a system without frequency scheduling, this increases the system throughput and yields an improved fairness with respect to the allocated resources and with respect to the achieved data rate per user. Analytical and simulation results show that the proposed scheduling algorithm can improve the system throughput and guarantee the given QoS requirements.