internal static void SetAwbMode(this MMALCameraComponent camera, MMAL_PARAM_AWBMODE_T mode)
        {
            MMALLog.Logger.Debug($"Setting AWB mode: {mode}");

            MMAL_PARAMETER_AWBMODE_T awbMode = new MMAL_PARAMETER_AWBMODE_T(new MMAL_PARAMETER_HEADER_T(MMAL_PARAMETER_AWB_MODE, Marshal.SizeOf <MMAL_PARAMETER_AWBMODE_T>()),
                                                                            mode);

            MMALCheck(MMALPort.mmal_port_parameter_set(camera.Control.Ptr, &awbMode.hdr), "Unable to set awb mode");
        }
        public static MMAL_PARAM_AWBMODE_T GetAwbMode(this MMALCameraComponent camera)
        {
            MMAL_PARAMETER_AWBMODE_T awbMode = new MMAL_PARAMETER_AWBMODE_T(new MMAL_PARAMETER_HEADER_T(MMAL_PARAMETER_AWB_MODE, Marshal.SizeOf <MMAL_PARAMETER_AWBMODE_T>()),
                                                                            new MMAL_PARAM_AWBMODE_T());

            MMALCheck(MMALPort.mmal_port_parameter_get(camera.Control.Ptr, &awbMode.hdr), "Unable to get awb mode");

            return(awbMode.Value);
        }