JUCE  v5.4.1-191-g0ab5e696f
JUCE API
Looking for a senior C++ dev?
I'm looking for work. Hire me!
VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser Class Reference

#include <juce_mac_Video.h>

Collaboration diagram for VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser:

Classes

struct  JucePlayerItemPreparationStatusObserverClass
 

Public Member Functions

 PlayerAsyncInitialiser (PlayerControllerBase &ownerToUse)
 
 ~PlayerAsyncInitialiser ()
 
void loadAsync (URL url)
 

Private Member Functions

void attachPreparationStatusObserver ()
 
void checkAllKeysReadyFor (AVAsset *assetToCheck, const URL &url)
 
void detachPreparationStatusObserver ()
 
void notifyOwnerPreparationFinished (const URL &url, Result r, AVPlayer *preparedPlayer)
 
void preparePlayerItem ()
 

Private Attributes

std::unique_ptr< AVURLAsset, NSObjectDeleter > asset
 
std::unique_ptr< NSArray< NSString * >, NSObjectDeleter > assetKeys
 
PlayerControllerBaseowner
 
std::unique_ptr< AVPlayer, NSObjectDeleter > player
 
std::unique_ptr< AVPlayerItem, NSObjectDeleter > playerItem
 
std::unique_ptr< NSObject, NSObjectDeleter > playerItemPreparationStatusObserver
 

Constructor & Destructor Documentation

◆ PlayerAsyncInitialiser()

template<typename Derived>
VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::PlayerAsyncInitialiser ( PlayerControllerBase ownerToUse)
inline

◆ ~PlayerAsyncInitialiser()

template<typename Derived>
VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::~PlayerAsyncInitialiser ( )
inline

Member Function Documentation

◆ attachPreparationStatusObserver()

template<typename Derived>
void VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::attachPreparationStatusObserver ( )
inlineprivate

◆ checkAllKeysReadyFor()

template<typename Derived>
void VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::checkAllKeysReadyFor ( AVAsset *  assetToCheck,
const URL &  url 
)
inlineprivate

References jassert, and juce::nsStringToJuce().

◆ detachPreparationStatusObserver()

template<typename Derived>
void VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::detachPreparationStatusObserver ( )
inlineprivate

◆ loadAsync()

template<typename Derived>
void VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::loadAsync ( URL  url)
inline

◆ notifyOwnerPreparationFinished()

template<typename Derived>
void VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::notifyOwnerPreparationFinished ( const URL &  url,
Result  r,
AVPlayer *  preparedPlayer 
)
inlineprivate

◆ preparePlayerItem()

template<typename Derived>
void VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::preparePlayerItem ( )
inlineprivate

Member Data Documentation

◆ asset

template<typename Derived>
std::unique_ptr<AVURLAsset, NSObjectDeleter> VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::asset
private

◆ assetKeys

template<typename Derived>
std::unique_ptr<NSArray<NSString*>, NSObjectDeleter> VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::assetKeys
private

◆ owner

template<typename Derived>
PlayerControllerBase& VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::owner
private

◆ player

template<typename Derived>
std::unique_ptr<AVPlayer, NSObjectDeleter> VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::player
private

◆ playerItem

template<typename Derived>
std::unique_ptr<AVPlayerItem, NSObjectDeleter> VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::playerItem
private

◆ playerItemPreparationStatusObserver

template<typename Derived>
std::unique_ptr<NSObject, NSObjectDeleter> VideoComponent::Pimpl::PlayerControllerBase< Derived >::PlayerAsyncInitialiser::playerItemPreparationStatusObserver
private

The documentation for this class was generated from the following file: