  We propose a new class of error correction codes for low-delay streaming
communication. We consider an online setup where a source packet arrives at the
encoder every $M$ channel uses, and needs to be decoded with a maximum delay of
$T$ packets. We consider a sliding-window erasure channel --- $\cC(N,B,W)$ ---
which introduces either up to $N$ erasures in arbitrary positions, or $B$
erasures in a single burst, in any window of length $W$. When $M=1$, the case
where source-arrival and channel-transmission rates are equal, we propose a
class of codes --- MiDAS codes --- that achieve a near optimal rate. Our
construction is based on a {\em layered} approach. We first construct an
optimal code for the $\cC(N=1,B,W)$ channel, and then concatenate an additional
layer of parity-check symbols to deal with $N>1$. When $M > 1$, the case where
source-arrival and channel-transmission rates are unequal, we characterize the
capacity when $N=1$ and $W \ge M(T+1),$ and for $N>1$, we propose a
construction based on a layered approach. Numerical simulations over
Gilbert-Elliott and Fritchman channel models indicate significant gains in the
residual loss probability over baseline schemes. We also discuss the connection
between the error correction properties of the MiDAS codes and their underlying
column distance and column span.
