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

Classes

struct  NativeWindow
 
struct  NativeWindowClass
 

Public Types

enum  State {
  uninitializedState,
  runningState,
  pausedState,
  stoppedState
}
 

Public Member Functions

 DirectShowContext (Pimpl &c)
 
 ~DirectShowContext ()
 
void displayResolutionChanged ()
 
double getDuration () const
 
double getPosition () const
 
double getSpeed () const
 
Rectangle< intgetVideoSize () const noexcept
 
float getVolume () const
 
void graphEventProc ()
 
void handleAsyncUpdate () override
 
Result loadFile (const String &fileOrURLPath)
 
void pause ()
 
void peerChanged ()
 
void play ()
 
void recreateNativeWindowAsync ()
 
void release ()
 
void repaint ()
 
void setPosition (double seconds)
 
void setSpeed (double newSpeed)
 
void setVolume (float newVolume)
 
void showWindow (bool shouldBeVisible)
 
void stop ()
 
void updateContextPosition ()
 
void updateVideoPosition ()
 
void updateWindowPosition (const Rectangle< int > &newBounds)
 

Static Public Member Functions

static long convertToDShowVolume (float vol) noexcept
 
static Result getErrorMessageFromResult (HRESULT hr)
 

Public Attributes

State state = uninitializedState
 

Private Types

enum  { graphEventID = WM_APP + 0x43f0 }
 

Private Member Functions

bool createNativeWindow ()
 
void deleteNativeWindow ()
 
bool isRendererConnected ()
 

Private Attributes

ComSmartPtr< IBaseFilter > baseFilter
 
ComSmartPtr< IBasicAudio > basicAudio
 
Pimplcomponent
 
ComSmartPtr< IGraphBuilder > graphBuilder
 
bool hasVideo = false
 
HDC hdc = {}
 
HWND hwnd = {}
 
ComSmartPtr< IMediaControl > mediaControl
 
ComSmartPtr< IMediaEventEx > mediaEvent
 
ComSmartPtr< IMediaPosition > mediaPosition
 
std::unique_ptr< NativeWindownativeWindow
 
bool needToRecreateNativeWindow = false
 
bool needToUpdateViewport = true
 
std::unique_ptr< VideoRenderers::BasevideoRenderer
 

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
private
Enumerator
graphEventID 

◆ State

Enumerator
uninitializedState 
runningState 
pausedState 
stoppedState 

Constructor & Destructor Documentation

◆ DirectShowContext()

VideoComponent::Pimpl::DirectShowContext::DirectShowContext ( Pimpl c)
inline

◆ ~DirectShowContext()

VideoComponent::Pimpl::DirectShowContext::~DirectShowContext ( )
inline

Member Function Documentation

◆ convertToDShowVolume()

static long VideoComponent::Pimpl::DirectShowContext::convertToDShowVolume ( float  vol)
inlinestaticnoexcept

References juce::roundToInt().

◆ createNativeWindow()

bool VideoComponent::Pimpl::DirectShowContext::createNativeWindow ( )
inlineprivate

◆ deleteNativeWindow()

void VideoComponent::Pimpl::DirectShowContext::deleteNativeWindow ( )
inlineprivate

References jassert.

◆ displayResolutionChanged()

void VideoComponent::Pimpl::DirectShowContext::displayResolutionChanged ( )
inline

◆ getDuration()

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

◆ getErrorMessageFromResult()

static Result VideoComponent::Pimpl::DirectShowContext::getErrorMessageFromResult ( HRESULT  hr)
inlinestatic

◆ getPosition()

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

◆ getSpeed()

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

◆ getVideoSize()

Rectangle<int> VideoComponent::Pimpl::DirectShowContext::getVideoSize ( ) const
inlinenoexcept

References int().

◆ getVolume()

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

◆ graphEventProc()

void VideoComponent::Pimpl::DirectShowContext::graphEventProc ( )
inline

References jassert.

◆ handleAsyncUpdate()

void VideoComponent::Pimpl::DirectShowContext::handleAsyncUpdate ( )
inlineoverride

◆ isRendererConnected()

bool VideoComponent::Pimpl::DirectShowContext::isRendererConnected ( )
inlineprivate

◆ loadFile()

Result VideoComponent::Pimpl::DirectShowContext::loadFile ( const String &  fileOrURLPath)
inline

References jassert.

◆ pause()

void VideoComponent::Pimpl::DirectShowContext::pause ( )
inline

◆ peerChanged()

void VideoComponent::Pimpl::DirectShowContext::peerChanged ( )
inline

◆ play()

void VideoComponent::Pimpl::DirectShowContext::play ( )
inline

◆ recreateNativeWindowAsync()

void VideoComponent::Pimpl::DirectShowContext::recreateNativeWindowAsync ( )
inline

◆ release()

void VideoComponent::Pimpl::DirectShowContext::release ( )
inline

◆ repaint()

void VideoComponent::Pimpl::DirectShowContext::repaint ( )
inline

◆ setPosition()

void VideoComponent::Pimpl::DirectShowContext::setPosition ( double  seconds)
inline

◆ setSpeed()

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

◆ setVolume()

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

◆ showWindow()

void VideoComponent::Pimpl::DirectShowContext::showWindow ( bool  shouldBeVisible)
inline

◆ stop()

void VideoComponent::Pimpl::DirectShowContext::stop ( )
inline

◆ updateContextPosition()

void VideoComponent::Pimpl::DirectShowContext::updateContextPosition ( )
inline

◆ updateVideoPosition()

void VideoComponent::Pimpl::DirectShowContext::updateVideoPosition ( )
inline

◆ updateWindowPosition()

void VideoComponent::Pimpl::DirectShowContext::updateWindowPosition ( const Rectangle< int > &  newBounds)
inline

Member Data Documentation

◆ baseFilter

ComSmartPtr<IBaseFilter> VideoComponent::Pimpl::DirectShowContext::baseFilter
private

◆ basicAudio

ComSmartPtr<IBasicAudio> VideoComponent::Pimpl::DirectShowContext::basicAudio
private

◆ component

Pimpl& VideoComponent::Pimpl::DirectShowContext::component
private

◆ graphBuilder

ComSmartPtr<IGraphBuilder> VideoComponent::Pimpl::DirectShowContext::graphBuilder
private

◆ hasVideo

bool VideoComponent::Pimpl::DirectShowContext::hasVideo = false
private

◆ hdc

HDC VideoComponent::Pimpl::DirectShowContext::hdc = {}
private

◆ hwnd

HWND VideoComponent::Pimpl::DirectShowContext::hwnd = {}
private

◆ mediaControl

ComSmartPtr<IMediaControl> VideoComponent::Pimpl::DirectShowContext::mediaControl
private

◆ mediaEvent

ComSmartPtr<IMediaEventEx> VideoComponent::Pimpl::DirectShowContext::mediaEvent
private

◆ mediaPosition

ComSmartPtr<IMediaPosition> VideoComponent::Pimpl::DirectShowContext::mediaPosition
private

◆ nativeWindow

std::unique_ptr<NativeWindow> VideoComponent::Pimpl::DirectShowContext::nativeWindow
private

◆ needToRecreateNativeWindow

bool VideoComponent::Pimpl::DirectShowContext::needToRecreateNativeWindow = false
private

◆ needToUpdateViewport

bool VideoComponent::Pimpl::DirectShowContext::needToUpdateViewport = true
private

◆ state

State VideoComponent::Pimpl::DirectShowContext::state = uninitializedState

◆ videoRenderer

std::unique_ptr<VideoRenderers::Base> VideoComponent::Pimpl::DirectShowContext::videoRenderer
private

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