Skip to content
  • Wim Taymans's avatar
    spa: improve draining · b18dacde
    Wim Taymans authored
    Make a new DRAINED status.
    Place the DRAINED status on an input IO when a stream is out of
    buffers and draining.
    All nodes that don't have HAVE_DATA on the input io need to copy
    it to the output io and return the status. This makes sure the
    DRAINED is forwarded and nodes return DRAINED from _process()
    DRAINED on the resampler flushes out the last queued samples and then
    forwards the DRAINED in the next iteration.
    Emit a new drained signal from the context when a node returns
    DRAINED. Use this to trigger the drained signal in the stream.
    b18dacde