audio: add rollback support for streams in setAudioPatch.

This rollback support isn't altering the the definition
of the IModule::setAudioPatch API, in case of success.
But, in case of failure, setAudioPatch tries to rollback
to the old patch.

Although, rollback isn't guaranteed.
But the rollback attempt is ensured.

Thereby, rollback support enables framework to take fail safe
decisions and tries to create a deterministic behavior for HAL.

Add brief comments for this logic.

Reason, the Bluetooth devices (external devices) may fail to connect
and thus leaving the stream with empty devices may not be desirable.

Thus, Rollback attempt to previous devices may be desirable.

Bug: 370242708
Test: atest VtsHalAudioCoreTargetTest
Change-Id: I40627c6af1df61c6331cbadf32d259378906431c
1 file changed