public void ReleaseToken(VideoEncoder encoder, Guid?unlockKey) { if (unlockKey == null) { return; } lock (this.lockObj) { if (this.totalInstances.Contains(unlockKey.Value)) { this.totalInstances.Remove(unlockKey.Value); } switch (encoder) { case VideoEncoder.QuickSync: case VideoEncoder.QuickSyncH265: case VideoEncoder.QuickSyncH26510b: case VideoEncoder.QuickSyncAV1: case VideoEncoder.QuickSyncAV110b: if (this.qsvInstances.Contains(unlockKey.Value)) { this.qsvInstances.Remove(unlockKey.Value); } break; case VideoEncoder.NvencH264: case VideoEncoder.NvencH265: case VideoEncoder.NvencH26510b: if (this.nvencInstances.Contains(unlockKey.Value)) { this.nvencInstances.Remove(unlockKey.Value); } break; case VideoEncoder.VceH264: case VideoEncoder.VceH265: if (this.vceInstances.Contains(unlockKey.Value)) { this.vceInstances.Remove(unlockKey.Value); } break; case VideoEncoder.MFH264: case VideoEncoder.MFH265: if (this.mfInstances.Contains(unlockKey.Value)) { this.mfInstances.Remove(unlockKey.Value); } break; } } }
public static bool IsH264(VideoEncoder encoder) { if (encoder == VideoEncoder.X264 || encoder == VideoEncoder.X264_10 || encoder == VideoEncoder.QuickSync || encoder == VideoEncoder.NvencH264) { return(true); } return(false); }
public void ReleaseToken(VideoEncoder encoder, Guid?unlockKey) { if (unlockKey == null) { return; } lock (this.lockObj) { if (this.totalInstances.Contains(unlockKey.Value)) { this.totalInstances.Remove(unlockKey.Value); } if (VideoEncoderHelpers.IsQuickSync(encoder)) { if (this.qsvInstances.Contains(unlockKey.Value)) { this.qsvInstances.Remove(unlockKey.Value); } } else if (VideoEncoderHelpers.IsNVEnc(encoder)) { if (this.nvencInstances.Contains(unlockKey.Value)) { this.nvencInstances.Remove(unlockKey.Value); } } else if (VideoEncoderHelpers.IsVCN(encoder)) { if (this.vceInstances.Contains(unlockKey.Value)) { this.vceInstances.Remove(unlockKey.Value); } } else if (VideoEncoderHelpers.IsMediaFoundation(encoder)) { if (this.mfInstances.Contains(unlockKey.Value)) { this.mfInstances.Remove(unlockKey.Value); } } } }