On Thu, Jun 22, 2023 at 05:04:10PM +0530, Sameer Pujar wrote:The issue can happen in subsequent cycles as well if once the user disables the byte map by putting 256. It happens because of following reason where 256 value is reset to 0 since the byte map array is tightly packed and it can't store 256 value.
From: Sheetal <sheetal@xxxxxxxxxx>I'm not quite sure I follow the logic here - I'd have expected this to
Byte mask for channel-1 of stream-1 is not getting enabled and this
causes failures during AMX use cases. The enable bit is not set during
put() callback of byte map mixer control.
This happens because the byte map value 0 matches the initial state
of byte map array and put() callback returns without doing anything.
Fix the put() callback by actually looking at the byte mask array
to identify if any change is needed and update the fields accordingly.
mean that there's a bootstrapping issue and that we should be doing some
more initialisation during startup such that the existing code which
checks if there is a change will be doing the right thing?
Also update get() callback to return 256 if the byte map is disabled.This will be a user visible change. It's not clear to me why it's
needed - it seems like it's a hack to push users to do an update in the
case where they want to use channel 1 stream 1?