<!--
{
  "availability" : [
    "iOS: 8.0.0 -",
    "iPadOS: 8.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.8.0 -",
    "tvOS: 10.2.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "VideoToolbox",
  "identifier" : "/documentation/VideoToolbox/VTDecompressionSessionInvalidate(_:)",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Video Toolbox"
    ],
    "preciseIdentifier" : "c:@F@VTDecompressionSessionInvalidate"
  },
  "title" : "VTDecompressionSessionInvalidate(_:)"
}
-->

# VTDecompressionSessionInvalidate(_:)

Tears down a decompression session.

```
func VTDecompressionSessionInvalidate(_ session: VTDecompressionSession)
```

## Parameters

`session`

The decompression session to invalidate.

## Discussion

When you finish with a decompression session you created, call this function to tear it down, and then <doc://com.apple.documentation/documentation/CoreFoundation/CFRelease> to release your object reference.

> Note:
> A decompression session is automatically invalidated when its retain count reaches zero, but because sessions may be retained by multiple parties, it can be hard to predict when this will happen. Calling `VTDecompressionSessionInvalidate` ensures a deterministic, orderly teardown.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)