---
title: "pictureInPictureController(_:didTransitionToRenderSize:)"
framework: AVKit
role: symbol
role_heading: Instance Method
platforms: [iOS 15.0+, iPadOS 15.0+, Mac Catalyst 15.0+, macOS 12.0+, tvOS 15.0+, visionOS 1.0+]
path: "avkit/avpictureinpicturesamplebufferplaybackdelegate/pictureinpicturecontroller(_:didtransitiontorendersize:)"
---

# pictureInPictureController(_:didTransitionToRenderSize:)

Tells the delegate when the system Picture in Picture window changes size.

## Declaration

```swift
func pictureInPictureController(_ pictureInPictureController: AVPictureInPictureController, didTransitionToRenderSize newRenderSize: CMVideoDimensions)
```

## Parameters

- `pictureInPictureController`: The Picture in Picture controller.
- `newRenderSize`: The Picture in Picture content’s rendered size, in pixels.

## Discussion

Discussion Take the new render size and the isPictureInPictureActive state into account when choosing media variants to avoid uncessary decoding overhead.

## See Also

### Responding to playback events

- [pictureInPictureController(_:setPlaying:)](avkit/avpictureinpicturesamplebufferplaybackdelegate/pictureinpicturecontroller(_:setplaying:).md)
- [pictureInPictureControllerTimeRangeForPlayback(_:)](avkit/avpictureinpicturesamplebufferplaybackdelegate/pictureinpicturecontrollertimerangeforplayback(_:).md)
- [pictureInPictureControllerIsPlaybackPaused(_:)](avkit/avpictureinpicturesamplebufferplaybackdelegate/pictureinpicturecontrollerisplaybackpaused(_:).md)
- [pictureInPictureController(_:skipByInterval:completion:)](avkit/avpictureinpicturesamplebufferplaybackdelegate/pictureinpicturecontroller(_:skipbyinterval:completion:).md)
- [pictureInPictureControllerShouldProhibitBackgroundAudioPlayback(_:)](avkit/avpictureinpicturesamplebufferplaybackdelegate/pictureinpicturecontrollershouldprohibitbackgroundaudioplayback(_:).md)
