Skip to main content
Version: 2.x

Class CustomEffect<T>

Custom effect for OdinNative.Wrapper.MediaPipeline callbacks

Declaration
public class CustomEffect<T> : PipelineEffect, IPipelineEffect where T : unmanaged

Inheritance: System.Object -> OdinNative.Wrapper.Media.PipelineEffect

Implements:
OdinNative.Wrapper.Media.IPipelineEffect

Methods​

~CustomEffect()​

Declaration
protected ~CustomEffect()

Insert(uint, PipelineCallback<T>, T)​

Add a OdinNative.Wrapper.Media.CustomEffect to OdinNative.Wrapper.Media.PipelineEffect.Parent pipeline.

Declaration
public virtual uint Insert(uint index, NativeBindings.PipelineCallback<T> callback, T userData)
Returns​

System.UInt32: effect id

Parameters​
TypeNameDescription
System.UInt32indexeffect index in pipeline
OdinNative.Core.Imports.NativeBindings.PipelineCallback<T>callbackeffect event
<T>userDataWill be passed to callback on each invocation

SerializeUserdata(T)​

Serialize arbitrary userdata

Declaration
public virtual byte[] SerializeUserdata(T value)
Returns​

System.Byte[]: byte array representation of userdata value

Parameters​
TypeNameDescription
<T>valuebyte array data of value T

SerializeUserdata(T, bool)​

Serialize arbitrary userdata

Declaration
public virtual nint SerializeUserdata(T value, bool destroy = true)
Returns​

System.IntPtr

Parameters​
TypeNameDescription
<T>valueobject data of value T
System.Booleandestroytrue to call the DestroyStructure(IntPtr, Type) method.

DeserializeUserdata(byte[])​

Deserializes userdata from a byte array

Declaration
public virtual T DeserializeUserdata(byte[] data)
Returns​

<T>: deserialized userdata value of type T

Parameters​
TypeNameDescription
System.Byte[]datacustom userdata

DeserializeUserdata(nint)​

Deserializes userdata from a pointer

Declaration
public virtual T DeserializeUserdata(nint ptr)
Returns​

<T>: deserialized userdata value of type T

Parameters​
TypeNameDescription
System.IntPtrptrpointer

Create(MediaPipeline, PipelineCallback<T>, T)​

Insert a custom effect in the specified pipeline

Declaration
public static CustomEffect<T> Create(MediaPipeline pipeline, NativeBindings.PipelineCallback<T> callback, T userData)
Returns​

OdinNative.Wrapper.Media.CustomEffect<T>: Instance of OdinNative.Wrapper.Media.CustomEffect

Parameters​
TypeNameDescription
OdinNative.Wrapper.MediaPipelinepipelinewhere to create a custom effect
OdinNative.Core.Imports.NativeBindings.PipelineCallback<T>callbackdelegate reference for effect event
<T>userDatacustom userdata passed to callback on each invocation

Serialize(T)​

Serialize structure to pointer for arbitrary data T

Declaration
public static byte[] Serialize(T value)
Returns​

System.Byte[]: byte array representation of data structure

Parameters​
TypeNameDescription
<T>valuedata T structure

Serialize(T, bool)​

Serialize structure to pointer for arbitrary data T

Declaration
public static nint Serialize(T value, bool destroy = true)
Returns​

System.IntPtr: pointer of data structure

Parameters​
TypeNameDescription
<T>valuedata T structure
System.Booleandestroyfree value

Deserialize(byte[])​

Deserializes a structure from a byte array

Declaration
public static T Deserialize(byte[] data)
Returns​

<T>: structure T

Parameters​
TypeNameDescription
System.Byte[]databinary data to deserialize

Deserialize(nint)​

Deserializes a structure from a pointer

Declaration
public static T Deserialize(nint ptr)
Returns​

<T>: structure T

Parameters​
TypeNameDescription
System.IntPtrptrpointer to deserialize as structure

Implements​