produce: Properly cleanup on deactivate in all cases
- produce: Properly cleanup on deactivate in all cases
We may end up calling deactivate with a PipeWire stream that is not yet
streaming. In that case calling setActive(false)
on the stream will do
nothing and not cause a state change, so our cleanup code is never ran,
which may cause hangs because an application is waiting for the encoder
to finish. So ensure we do cleanup properly when the stream is not in a
streaming state.