public override FrameBufferData GetFrameBufferData(byte[] data, long timeCode, long duration, bool keyFrame, bool discardable, bool invisible) { FrameBufferData frame = null; using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { if (keyFrame) { ms.Write(NALUnitHeader, 0, NALUnitHeader.Length); } int i2 = 0, i = data.Length; while (i2 < i) { byte[] nalu = GetNALU(data, i2); ms.Write(NALUSpliter, 0, 3); ms.Write(nalu, 0, nalu.Length); i2 += (nalu.Length + NALULength); } //ms.Position = 0; frame = new FrameBufferData(ms.GetWindowsRuntimeBuffer(), timeCode, duration, keyFrame, discardable, invisible); } return(frame); }