void CreateDecompressionSession(AVAssetTrack videoTrack) { CMFormatDescription[] formatDescriptions = videoTrack.FormatDescriptions; var formatDescription = (CMVideoFormatDescription)formatDescriptions [0]; videoPreferredTransform = videoTrack.PreferredTransform; decompressionSession = VTDecompressionSession.Create(DidDecompress, formatDescription); }
VTDecompressionSession CreateSession(AVAsset asset) { var videoTracks = asset.TracksWithMediaType(AVMediaType.Video); var track = videoTracks[0]; var formatDescriptor = track.FormatDescriptions[0] as CMVideoFormatDescription; var session = VTDecompressionSession.Create( (sourceFrame, status, flags, buffer, presentationTimeStamp, presentationDuration) => {}, formatDescriptor); return(session); }