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

#include <juce_win32_Video.h>

Inheritance diagram for VideoComponent::Pimpl:
Collaboration diagram for VideoComponent::Pimpl:

Classes

struct  ComponentWatcher
 
struct  DirectShowContext
 
struct  DirectShowContext
 
struct  DirectShowContext
 
class  MediaSession
 
class  MediaSession
 
class  MediaSession
 
class  MediaSession
 
class  MediaSession
 
class  PlayerController
 
class  PlayerControllerBase
 
class  PlayerControllerBase
 
class  PlayerControllerBase
 
class  PlayerControllerBase
 
class  PlayerControllerBase
 

Public Member Functions

 Pimpl (VideoComponent &ownerToUse, bool useNativeControlsIfAvailable)
 
 Pimpl (VideoComponent &ownerToUse, bool)
 
 Pimpl (VideoComponent &ownerToUse, bool)
 
 ~Pimpl ()
 
 ~Pimpl ()
 
 ~Pimpl ()
 
void close ()
 
void close ()
 
void close ()
 
void errorOccurred (const String &errorMessage)
 
double getDuration () const
 
double getDuration () const
 
double getDuration () const
 
Rectangle< intgetNativeSize () const
 
Rectangle< intgetNativeSize () const
 
Rectangle< intgetNativeSize () const
 
double getPosition () const
 
double getPosition () const
 
double getPosition () const
 
double getSpeed () const
 
double getSpeed () const
 
double getSpeed () const
 
float getVolume () const
 
float getVolume () const
 
float getVolume () const
 
bool isOpen () const noexcept
 
bool isOpen () const
 
bool isOpen () const noexcept
 
bool isPlaying () const noexcept
 
bool isPlaying () const
 
bool isPlaying () const noexcept
 
Result load (const File &file)
 
Result load (const URL &url)
 
Result load (NSURL *url)
 
Result load (const File &file)
 
Result load (const URL &url)
 
void loadAsync (const URL &url, std::function< void(const URL &, Result)> callback)
 
void loadAsync (const URL &url, std::function< void(const URL &, Result)> callback)
 
Result loadFromString (const String &fileOrURLPath)
 
void paint (Graphics &g) override
 
void play () noexcept
 
void play ()
 
void play ()
 
void playbackStarted ()
 
void playbackStopped ()
 
void recreateNativeWindowAsync ()
 
void setPosition (double newPosition)
 
void setPosition (double newPosition)
 
void setPosition (double newPosition)
 
void setSpeed (double newSpeed)
 
void setSpeed (double newSpeed)
 
void setSpeed (double newSpeed)
 
void setVolume (float newVolume)
 
void setVolume (float newVolume)
 
void setVolume (float newVolume)
 
void stop () noexcept
 
void stop ()
 
void stop ()
 
void updateContextPosition ()
 
void updateContextVisibility ()
 

Public Attributes

File currentFile
 
URL currentURL
 

Private Member Functions

void errorOccurred (const String &errorMessage)
 
void playbackReachedEndTime ()
 
void playbackStarted ()
 
void playbackStopped ()
 
void playerPreparationFinished (const URL &url, Result r)
 

Static Private Member Functions

static double toSeconds (const CMTime &t) noexcept
 

Private Attributes

std::unique_ptr< ComponentWatchercomponentWatcher
 
std::unique_ptr< DirectShowContextcontext
 
std::function< void(const URL &, Result)> loadFinishedCallback
 
VideoComponent & owner
 
PlayerController playerController
 
double playSpeedMult = 1.0
 
bool videoLoaded
 

Constructor & Destructor Documentation

◆ Pimpl() [1/3]

VideoComponent::Pimpl::Pimpl ( VideoComponent &  ownerToUse,
bool   
)
inline

◆ ~Pimpl() [1/3]

VideoComponent::Pimpl::~Pimpl ( )
inline

◆ Pimpl() [2/3]

VideoComponent::Pimpl::Pimpl ( VideoComponent &  ownerToUse,
bool  useNativeControlsIfAvailable 
)
inline

◆ ~Pimpl() [2/3]

VideoComponent::Pimpl::~Pimpl ( )
inline

References close().

◆ Pimpl() [3/3]

VideoComponent::Pimpl::Pimpl ( VideoComponent &  ownerToUse,
bool   
)
inline

◆ ~Pimpl() [3/3]

VideoComponent::Pimpl::~Pimpl ( )
inline

Member Function Documentation

◆ close() [1/3]

void VideoComponent::Pimpl::close ( )
inline

◆ close() [2/3]

void VideoComponent::Pimpl::close ( )
inline

◆ close() [3/3]

void VideoComponent::Pimpl::close ( )
inline

References juce::getEnv().

Referenced by load(), and ~Pimpl().

◆ errorOccurred() [1/2]

void VideoComponent::Pimpl::errorOccurred ( const String &  errorMessage)
inline

◆ errorOccurred() [2/2]

◆ getDuration() [1/3]

double VideoComponent::Pimpl::getDuration ( ) const
inline

◆ getDuration() [2/3]

double VideoComponent::Pimpl::getDuration ( ) const
inline

◆ getDuration() [3/3]

double VideoComponent::Pimpl::getDuration ( ) const
inline

◆ getNativeSize() [1/3]

Rectangle<int> VideoComponent::Pimpl::getNativeSize ( ) const
inline

◆ getNativeSize() [2/3]

Rectangle<int> VideoComponent::Pimpl::getNativeSize ( ) const
inline

◆ getNativeSize() [3/3]

Rectangle<int> VideoComponent::Pimpl::getNativeSize ( ) const
inline

◆ getPosition() [1/3]

double VideoComponent::Pimpl::getPosition ( ) const
inline

◆ getPosition() [2/3]

double VideoComponent::Pimpl::getPosition ( ) const
inline

◆ getPosition() [3/3]

double VideoComponent::Pimpl::getPosition ( ) const
inline

◆ getSpeed() [1/3]

double VideoComponent::Pimpl::getSpeed ( ) const
inline

◆ getSpeed() [2/3]

double VideoComponent::Pimpl::getSpeed ( ) const
inline

◆ getSpeed() [3/3]

double VideoComponent::Pimpl::getSpeed ( ) const
inline

Referenced by isPlaying().

◆ getVolume() [1/3]

◆ getVolume() [2/3]

float VideoComponent::Pimpl::getVolume ( ) const
inline

◆ getVolume() [3/3]

float VideoComponent::Pimpl::getVolume ( ) const
inline

◆ isOpen() [1/3]

bool VideoComponent::Pimpl::isOpen ( ) const
inlinenoexcept

◆ isOpen() [2/3]

bool VideoComponent::Pimpl::isOpen ( ) const
inline

◆ isOpen() [3/3]

bool VideoComponent::Pimpl::isOpen ( ) const
inlinenoexcept

◆ isPlaying() [1/3]

bool VideoComponent::Pimpl::isPlaying ( ) const
inlinenoexcept

References getSpeed().

◆ isPlaying() [2/3]

bool VideoComponent::Pimpl::isPlaying ( ) const
inline

◆ isPlaying() [3/3]

bool VideoComponent::Pimpl::isPlaying ( ) const
inlinenoexcept

Referenced by setSpeed().

◆ load() [1/5]

Result VideoComponent::Pimpl::load ( const File &  file)
inline

References juce::createNSURLFromFile(), and currentFile.

Referenced by load().

◆ load() [2/5]

Result VideoComponent::Pimpl::load ( const URL &  url)
inline

◆ load() [3/5]

Result VideoComponent::Pimpl::load ( NSURL *  url)
inline

◆ load() [4/5]

Result VideoComponent::Pimpl::load ( const File &  file)
inline

◆ load() [5/5]

Result VideoComponent::Pimpl::load ( const URL &  url)
inline

◆ loadAsync() [1/2]

void VideoComponent::Pimpl::loadAsync ( const URL &  url,
std::function< void(const URL &, Result)>  callback 
)
inline

◆ loadAsync() [2/2]

void VideoComponent::Pimpl::loadAsync ( const URL &  url,
std::function< void(const URL &, Result)>  callback 
)
inline

◆ loadFromString()

Result VideoComponent::Pimpl::loadFromString ( const String &  fileOrURLPath)
inline

◆ paint()

void VideoComponent::Pimpl::paint ( Graphics &  g)
inlineoverride

◆ play() [1/3]

void VideoComponent::Pimpl::play ( )
inlinenoexcept

◆ play() [2/3]

void VideoComponent::Pimpl::play ( )
inline

◆ play() [3/3]

void VideoComponent::Pimpl::play ( )
inline

◆ playbackReachedEndTime()

void VideoComponent::Pimpl::playbackReachedEndTime ( )
inlineprivate

◆ playbackStarted() [1/2]

void VideoComponent::Pimpl::playbackStarted ( )
inline

◆ playbackStarted() [2/2]

◆ playbackStopped() [1/2]

void VideoComponent::Pimpl::playbackStopped ( )
inline

◆ playbackStopped() [2/2]

◆ playerPreparationFinished()

void VideoComponent::Pimpl::playerPreparationFinished ( const URL &  url,
Result  r 
)
inlineprivate

◆ recreateNativeWindowAsync()

void VideoComponent::Pimpl::recreateNativeWindowAsync ( )
inline

◆ setPosition() [1/3]

void VideoComponent::Pimpl::setPosition ( double  newPosition)
inline

◆ setPosition() [2/3]

void VideoComponent::Pimpl::setPosition ( double  newPosition)
inline

◆ setPosition() [3/3]

void VideoComponent::Pimpl::setPosition ( double  newPosition)
inline

Referenced by playbackReachedEndTime().

◆ setSpeed() [1/3]

void VideoComponent::Pimpl::setSpeed ( double  newSpeed)
inline

◆ setSpeed() [2/3]

void VideoComponent::Pimpl::setSpeed ( double  newSpeed)
inline

◆ setSpeed() [3/3]

void VideoComponent::Pimpl::setSpeed ( double  newSpeed)
inline

Referenced by play().

◆ setVolume() [1/3]

void VideoComponent::Pimpl::setVolume ( float  newVolume)
inline

◆ setVolume() [2/3]

void VideoComponent::Pimpl::setVolume ( float  newVolume)
inline

◆ setVolume() [3/3]

void VideoComponent::Pimpl::setVolume ( float  newVolume)
inline

Referenced by setVolume().

◆ stop() [1/3]

void VideoComponent::Pimpl::stop ( )
inlinenoexcept

◆ stop() [2/3]

void VideoComponent::Pimpl::stop ( )
inline

◆ stop() [3/3]

void VideoComponent::Pimpl::stop ( )
inline

Referenced by close(), and playbackReachedEndTime().

◆ toSeconds()

static double VideoComponent::Pimpl::toSeconds ( const CMTime &  t)
inlinestaticprivatenoexcept

Referenced by getDuration(), and getPosition().

◆ updateContextPosition()

void VideoComponent::Pimpl::updateContextPosition ( )
inline

◆ updateContextVisibility()

void VideoComponent::Pimpl::updateContextVisibility ( )
inline

Member Data Documentation

◆ componentWatcher

std::unique_ptr<ComponentWatcher> VideoComponent::Pimpl::componentWatcher
private

◆ context

◆ currentFile

File VideoComponent::Pimpl::currentFile

Referenced by close(), getVolume(), and load().

◆ currentURL

URL VideoComponent::Pimpl::currentURL

Referenced by close(), getVolume(), load(), and loadAsync().

◆ loadFinishedCallback

std::function<void (const URL&, Result)> VideoComponent::Pimpl::loadFinishedCallback
private

◆ owner

VideoComponent & VideoComponent::Pimpl::owner
private

◆ playerController

◆ playSpeedMult

double VideoComponent::Pimpl::playSpeedMult = 1.0
private

Referenced by play(), and setSpeed().

◆ videoLoaded

bool VideoComponent::Pimpl::videoLoaded
private

The documentation for this struct was generated from the following files: