Many distributed real-time applications, such as audio-and video-conferencing and collaborative systems, require multicast support from the underlying network. Multicasting involves the delivery of messages over a tree rooted at the sender and whose paths lead to the various receivers. A major objective of the routing protocol is to build a tree with minimum cost. Finding such a tree is known to be computationally expensive, and many heuristics have been proposed to efficiently find near-optimal trees. Moreover, some heuristics exist to efficiently find multicast trees that are of low cost and satisfy Quality-of-Service (QoS) (e.g., delay) delivery constraints required by real-time applications. However, these heuristics are not fast enough for large-scale networks. In this paper, we present a fast algorithm, called QDMR, for generating delay-constrained low-cost multicast routing trees. A salient feature of QDMR is that it dynamically adjusts its low-cost tree construction policy based on how far the current on-tree node is from violating the QoS delay bound. This QoS dependent (adaptive) tree construction, together with the capability of merging least-delay paths into the low-cost tree in case of stringent delay requirements, lead to the following properties: 1) QDMR guarantees that a feasible multicast tree (that satisfies the requested delay) will be found if such tree exists; 2) this delay-bounded multicast tree is very rapidly generated; and 3) the tree has low cost. Through analysis and extensive simulations, we confirm the premise of QDMR by comparing it to many existing multicast algorithms.