don't set digital gain if analogue gain is being used
the logic seems to be: if CID_GAIN
is available, use that, else if CID_ANALOGUE_GAIN
available, that.
the selfie cam provides CID_ANALOGUE_GAIN
but somewhere the drivers's set_ctrl for CID_DIGITAL_GAIN
is being called. where? Since that's an "image processing" control, this looks like a bug. What is meant to be used is the "source control" (analogue gain).
since the selfie cam driver can apply per-channel (digital) gain for white balance calibration, this is especially bad, as white-balance gain values will be overwritten if CID_DIGITAL_GAIN
is used by the user (megapixels).