The mix sink points into the tls_fwd object, so we must not free it
during operation, such as when a connection error occurs.
Separate out object creation and connection setup functions. Reset
object state at connection error, but don't free the object.
Make reconnect attempt part of checking the connection state.
Change-Id: Ib551532c47236afe5ec22711fcc161a8535338e4
(cherry picked from commit ff5abd4216)
Move destination format information into the sink object.
Decode each codec directly to its matching output format and leave
resampling to the sinks.
Move managing of the adjusted multi-channel output format into the mix
context.
Make sure all inputs to a mix outputs use the same audio format.
Change-Id: Ib9f334443bfee26d59f2ede6e13ac80c66c1b57e