We study low-delay error correction codes for streaming-recovery over a class of packet-erasure channels. In our setup, the encoder observes one source frame every M time slots, but is required to transmit a channel packet in each time slot. The decoder is required to reconstruct each source frame within a playback delay of T source frames. The collection of M transmitted channel packets between successive source frames is called a (channel) macro-packet. For a certain class of bursterasure channels, we characterize the associated capacity and develop explicit codes that attain the capacity. We recover as a special case, the capacity when M = 1, studied in earlier works. Our proposed code constructions involve splitting each source frame into two groups of sub-symbols, applying unequal error protection and carefully allocating source and parity-check sub-symbols within each macro-packet. Our constructions are a non-trivial extension of the previously proposed codes for M = 1.Simulation results indicate significant gains over baseline error correction codes for the Gilbert model for burst erasures.