<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CoreMedia",
  "identifier" : "/documentation/CoreMedia/CMSampleBufferAttachmentKeyDefinitions/drainAfterDecoding",
  "metadataVersion" : "0.1.0",
  "role" : "Type Property",
  "symbol" : {
    "kind" : "Type Property",
    "modules" : [
      "Core Media"
    ],
    "preciseIdentifier" : "s:9CoreMedia38CMSampleBufferAttachmentKeyDefinitionsO18drainAfterDecoding0A5Video012CVAttachmentF21DefinitionWithDefaultVyAE0L29ModePreferenceShouldPropagateOSbGvpZ"
  },
  "title" : "drainAfterDecoding"
}
-->

# drainAfterDecoding

Indicates whether the sample buffer should be drained after decoding.

```
static let drainAfterDecoding: CVAttachmentKeyDefinitionWithDefault<CMSampleBufferAttachmentKeyDefinitions.ShouldPropagate, Bool>
```

## Discussion

This attachment is used at run time to indicate that a sample precedes a break in decode sequence and that it is
appropriate to drain the decoder after decoding this sample. This attachment is not written to media files. The
getter returns the default value of false if this attachment is not present.

---

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)