wip - dev switching.

iodev list no longer needs to set active devices.

System wide volume and mute don't make sense to call back in to the
active device.  Volume is run through the devices now anyways.  Mute
will be affected by zeroing samples.

Change-Id: I8928420fe3b22c8a1d5d226abade91378c9feae0
CRAS: dev_stream - remove redundant mix_offset member.

This information is now kept in the input_mix state within rstream.

Signed-off-by: Dylan Reid <dgreid@chromium.org>
CRAS: audio_area - Rename src_index.

Switch src_index to skip_zero.  The new name is a better indication of
what this parameter is used for.

Change-Id: Ib0750569124d9efb4341c92cca97d2292a742e32
Signed-off-by: Dylan Reid <dgreid@chromium.org>
CRAS: input - Clear buffer when first writing to it.

Different active inputs can write different amounts of data to the shm
buffer per wake up.  This ensures that the shm region is only cleared
once, and no data from other devices is erased.  Before this, if
dev_index zero wrote less than the device at index one on the previous
wake up, device one's data would be erased by audio_area_copy.

Change-Id: I908c4dfe7aa11488205313530c2498319345a661
Signed-off-by: Dylan Reid <dgreid@chromium.org>
CRAS: audio_thread - Skip calculation for input streams.

No need to calculate the fill level when adding an input stream.

Change-Id: I38523af230fcfdd5c9f5c4790302f82c031ea8e0
Signed-off-by: Dylan Reid <dgreid@chromium.org>
CRAS: dev_stream - use wake time to drive capture callbacks.

This calls back the input with a regular rate, regardless of the
buffer level.  Keeping the buffer level high enough will be handled by
the sample rate estimation.

Change-Id: I031295ff2de3cc1e68a679cf9ae64b38ebf55b3d
Signed-off-by: Dylan Reid <dgreid@chromium.org>