protected MmalComponentBase(string name) { Ptr = CreateComponent(name); Inputs = new List <IInputPort>(); Outputs = new List <IOutputPort>(); Clocks = new List <IPort>(); Ports = new List <IPort>(); Control = new ControlPort((IntPtr)Ptr->Control, this, Guid.NewGuid()); for (var i = 0; i < Ptr->ClockNum; i++) { Clocks.Add(new ClockPort((IntPtr)(&(*Ptr->Clock[i])), this, Guid.NewGuid())); } for (var i = 0; i < Ptr->PortNum; i++) { Ports.Add(new GenericPort((IntPtr)(&(*Ptr->Port[i])), this, PortType.Generic, Guid.NewGuid())); } }
public MmalPortType(IntPtr priv, char *name, MmalPortTypeEnum type, ushort index, ushort indexAll, int isEnabled, MmalEsFormat *format, int bufferNumMin, int bufferSizeMin, int bufferAlignmentMin, int bufferNumRecommended, int bufferSizeRecommended, int bufferNum, int bufferSize, MmalComponentType *component, IntPtr userData, uint capabilities) { Priv = priv; Name = name; Type = type; Index = index; IndexAll = indexAll; IsEnabled = isEnabled; Format = format; BufferNumMin = bufferNumMin; BufferSizeMin = bufferSizeMin; BufferAlignmentMin = bufferAlignmentMin; BufferNumRecommended = bufferNumRecommended; BufferSizeRecommended = bufferSizeRecommended; BufferNum = bufferNum; BufferSize = bufferSize; Component = component; UserData = userData; Capabilities = capabilities; }
public static extern unsafe MmalStatusEnum Disable(MmalComponentType *comp);
public static extern unsafe MmalStatusEnum Destroy(MmalComponentType *comp);
public static extern unsafe MmalStatusEnum Release(MmalComponentType *comp);
public static extern unsafe void Acquire(MmalComponentType *comp);