This work comes from @jmarshallnz, I'm just the PR monkey.
Note that for 2, we don't actually change any sink behaviors, only give them the knowledge of whether the buffer contains silence or real audio. Some sinks may be able to do nothing, while others may have to keep silence flowing. I'll leave that to the various platform devs.
[SoftAE] pass audio/silence down to the sink so it can decide if it w…
…ants to output
[SoftAE] change RunOutputStage to take in a boolean for audio (vs sil…
…ence) and to return the number of samples taken by the output stage
[SoftAE] don't process silence when we don't have to.
Added warning dialog for when user will clear a modified PlayQueue