internal static void SetExposureMeteringMode(this MMALCameraComponent camera, MMAL_PARAM_EXPOSUREMETERINGMODE_T mode)
        {
            MMALLog.Logger.Debug($"Setting exposure metering mode: {mode}");

            MMAL_PARAMETER_EXPOSUREMETERINGMODE_T expMode = new MMAL_PARAMETER_EXPOSUREMETERINGMODE_T(new MMAL_PARAMETER_HEADER_T(MMAL_PARAMETER_EXP_METERING_MODE, Marshal.SizeOf <MMAL_PARAMETER_EXPOSUREMETERINGMODE_T>()),
                                                                                                      mode);

            MMALCheck(MMALPort.mmal_port_parameter_set(camera.Control.Ptr, &expMode.hdr), "Unable to set exposure metering mode");
        }
        public static MMAL_PARAM_EXPOSUREMETERINGMODE_T GetExposureMeteringMode(this MMALCameraComponent camera)
        {
            MMAL_PARAMETER_EXPOSUREMETERINGMODE_T expMode = new MMAL_PARAMETER_EXPOSUREMETERINGMODE_T(new MMAL_PARAMETER_HEADER_T(MMAL_PARAMETER_EXP_METERING_MODE, Marshal.SizeOf <MMAL_PARAMETER_EXPOSUREMETERINGMODE_T>()),
                                                                                                      new MMAL_PARAM_EXPOSUREMETERINGMODE_T());

            MMALCheck(MMALPort.mmal_port_parameter_get(camera.Control.Ptr, &expMode.hdr), "Unable to get exposure metering mode");

            return(expMode.Value);
        }