public void Dispose()
 {
     if (this.m_Ptr != IntPtr.Zero)
     {
         MediaEncoder.Internal_Release(this.m_Ptr);
         this.m_Ptr = IntPtr.Zero;
     }
     GC.SuppressFinalize(this);
 }
        private IntPtr Create(string filePath, VideoTrackAttributes[] videoAttrs, AudioTrackAttributes[] audioAttrs)
        {
            IntPtr intPtr = MediaEncoder.Internal_Create(filePath, videoAttrs, audioAttrs);

            if (intPtr == IntPtr.Zero)
            {
                throw new InvalidOperationException("MediaEncoder: Output file creation failed for " + filePath);
            }
            return(intPtr);
        }
 public bool AddSamples(ushort trackIndex, NativeArray <float> interleavedSamples)
 {
     return(MediaEncoder.Internal_AddSamples(this.m_Ptr, trackIndex, interleavedSamples.GetUnsafeReadOnlyPtr <float>(), interleavedSamples.Length));
 }
 public bool AddFrame(Texture2D texture)
 {
     return(MediaEncoder.Internal_AddFrame(this.m_Ptr, texture));
 }