Search code examples
iosios5avplayer

Setting videoGravity to AVLayerVideoGravityResizeAspectFill has no effect on iOS 5.0


I have implemented a custom movie player with AVPlayer. On setting the value of videoGravity in AVPlayerLayer to AVLayerVideoGravityResizeAspectFill I see the desired effect in iOS 4.2, 4.3. But somehow on iOS 5.0 it has got no effect. Is anybody seeing a similar issue? Am I doing something wrong?


Solution

  • On iOS5 you should reset layers bounds after setting videoGravity.

    This worked for me:

    ((AVPlayerLayer *)[self layer]).videoGravity = AVLayerVideoGravityResizeAspectFill;
    ((AVPlayerLayer *)[self layer]).bounds = ((AVPlayerLayer *)[self layer]).bounds;
    

    EDITED: "self" points to a PlayerView (subclass of UIView) object from example "Putting all together": https://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/02_Playback.html