avplayer 0.2.0

Safe Rust bindings for Apple's AVPlayer + AVAssetReader — playback and frame-by-frame asset reading on macOS
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
mod support;

use avplayer::prelude::*;

#[test]
fn avplayer_layer_tracks_player_and_video_gravity() -> support::TestResult {
    let player = support::player("test-avplayer-layer")?;
    let layer = PlayerLayer::new(Some(&player))?;

    assert!(layer.has_player()?);
    layer.set_video_gravity(VideoGravity::Resize)?;
    assert_eq!(layer.video_gravity()?, VideoGravity::Resize);
    assert!(layer.video_rect()?.width >= 0.0);
    assert!(layer.copy_displayed_pixel_buffer().is_none());
    layer.set_player(None);
    assert!(!layer.has_player()?);
    Ok(())
}