/// <summary> /// Close the transformer and underlying transform engine. /// The close functions closes all stored crypto contexts. This deletes key data /// and forces a cleanup of the crypto contexts. /// </summary> public void Close() { forwardEngine.Close(); if (forwardEngine != reverseEngine) { reverseEngine.Close(); } var keys = new List <long>(contexts.Keys); foreach (var ssrc in keys) { if (contexts.TryRemove(ssrc, out var context)) { context.Close(); } } }
/** * Close the transformer and underlying transform engine. * * The close functions closes all stored crypto contexts. This deletes key * data and forces a cleanup of the crypto contexts. */ public void Close() { forwardEngine.Close(); if (forwardEngine != reverseEngine) { reverseEngine.Close(); } var keys = new List <long>(contexts.Keys); foreach (var ssrc in keys) { SrtpCryptoContext context; contexts.TryRemove(ssrc, out context); if (context != null) { context.Close(); } } }
/** * Close the transformer and underlying transform engine. * * The close functions closes all stored crypto contexts. This deletes key data * and forces a cleanup of the crypto contexts. */ public void Close() { forwardEngine.Close(); if (forwardEngine != reverseEngine) { reverseEngine.Close(); } var keys = new List <long>(contexts.Keys); foreach (var ssrc in keys) { var context = contexts[ssrc]; contexts.Remove(ssrc); if (context != null) { context.Close(); } } }