コード例 #1
0
ファイル: MMALComponent.cs プロジェクト: tottaka/SharpPi
 public MMAL_WRAPPER_T(
     IntPtr userData,
     IntPtr callback,
     MMAL_COMPONENT_T *component,
     MMALUtil.MMAL_STATUS_T status,
     MMAL_PORT_T *control,
     uint inputNum,
     MMAL_PORT_T **input,
     MMAL_POOL_T **inputPool,
     uint outputNum,
     MMAL_PORT_T **output,
     MMAL_POOL_T **outputPool,
     MMAL_QUEUE_T **outputQueue,
     long timeSetup,
     long timeEnable,
     long timeDisable)
 {
     this.userData    = userData;
     this.callback    = callback;
     this.component   = component;
     this.status      = status;
     this.control     = control;
     this.inputNum    = inputNum;
     this.input       = input;
     this.inputPool   = inputPool;
     this.outputNum   = outputNum;
     this.output      = output;
     this.outputPool  = outputPool;
     this.outputQueue = outputQueue;
     this.timeSetup   = timeSetup;
     this.timeEnable  = timeEnable;
     this.timeDisable = timeDisable;
 }
コード例 #2
0
        /// <summary>
        /// Creates the MMAL Component by the given name.
        /// </summary>
        /// <param name="name">The native MMAL name of the component you want to create.</param>
        protected MMALComponentBase(string name)
        {
            this.Ptr = CreateComponent(name);

            this.Inputs  = new List <InputPortBase>();
            this.Outputs = new List <OutputPortBase>();
            this.Clocks  = new List <PortBase>();
            this.Ports   = new List <PortBase>();

            this.Control = new ControlPort((IntPtr)this.Ptr->Control, this, PortType.Control, Guid.NewGuid());

            for (int i = 0; i < this.Ptr->ClockNum; i++)
            {
                this.Clocks.Add(new ClockPort((IntPtr)(&(*this.Ptr->Clock[i])), this, PortType.Clock, Guid.NewGuid()));
            }

            for (int i = 0; i < this.Ptr->PortNum; i++)
            {
                this.Ports.Add(new GenericPort((IntPtr)(&(*this.Ptr->Port[i])), this, PortType.Generic, Guid.NewGuid()));
            }
        }
コード例 #3
0
 public MMAL_PORT_T(IntPtr priv, char *name, MMALPort.MMAL_PORT_TYPE_T type, ushort index, ushort indexAll,
                    int isEnabled, MMAL_ES_FORMAT_T *format, int bufferNumMin, int bufferSizeMin, int bufferAlignmentMin,
                    int bufferNumRecommended, int bufferSizeRecommended, int bufferNum, int bufferSize, MMAL_COMPONENT_T *component,
                    IntPtr userData, uint capabilities)
 {
     this.priv                  = priv;
     this.name                  = name;
     this.type                  = type;
     this.index                 = index;
     this.indexAll              = indexAll;
     this.isEnabled             = isEnabled;
     this.format                = format;
     this.bufferNumMin          = bufferNumMin;
     this.bufferSizeMin         = bufferSizeMin;
     this.bufferAlignmentMin    = bufferAlignmentMin;
     this.bufferNumRecommended  = bufferNumRecommended;
     this.bufferSizeRecommended = bufferSizeRecommended;
     this.bufferNum             = bufferNum;
     this.bufferSize            = bufferSize;
     this.component             = component;
     this.userData              = userData;
     this.capabilities          = capabilities;
 }
コード例 #4
0
 public static extern unsafe MMAL_PORT_T mmal_util_get_port(MMAL_COMPONENT_T *comp, MMALPort.MMAL_PORT_TYPE_T pType, uint index);
コード例 #5
0
 public static unsafe extern MMALUtil.MMAL_STATUS_T mmal_component_disable(MMAL_COMPONENT_T *comp);
コード例 #6
0
 public static unsafe extern void mmal_component_acquire(MMAL_COMPONENT_T *comp);
コード例 #7
0
ファイル: MMALComponent.cs プロジェクト: tottaka/SharpPi
 public static extern unsafe MMALUtil.MMAL_STATUS_T mmal_component_enable(MMAL_COMPONENT_T *comp);