Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
D3DPresentEngine Class Reference

#include <evrd3dpresentengine_p.h>

+ Collaboration diagram for D3DPresentEngine:

Public Member Functions

 D3DPresentEngine (QVideoSink *sink)
 
virtual ~D3DPresentEngine ()
 
bool isValid () const
 
HRESULT getService (REFGUID guidService, REFIID riid, void **ppv)
 
HRESULT checkFormat (D3DFORMAT format)
 
UINT refreshRate () const
 
HRESULT createVideoSamples (IMFMediaType *format, QList< IMFSample * > &videoSampleQueue, QSize frameSize)
 
QVideoFrameFormat videoSurfaceFormat () const
 
QVideoFrame makeVideoFrame (IMFSample *sample)
 
void releaseResources ()
 
void setSink (QVideoSink *sink)
 

Friends

class IMFSampleVideoBuffer
 

Detailed Description

Definition at line 97 of file evrd3dpresentengine_p.h.

Constructor & Destructor Documentation

◆ D3DPresentEngine()

D3DPresentEngine::D3DPresentEngine ( QVideoSink sink)

Definition at line 325 of file evrd3dpresentengine.cpp.

References setSink().

+ Here is the call graph for this function:

◆ ~D3DPresentEngine()

D3DPresentEngine::~D3DPresentEngine ( )
virtual

Definition at line 332 of file evrd3dpresentengine.cpp.

References releaseResources().

+ Here is the call graph for this function:

Member Function Documentation

◆ checkFormat()

HRESULT D3DPresentEngine::checkFormat ( D3DFORMAT  format)

Definition at line 537 of file evrd3dpresentengine.cpp.

References ok.

Referenced by EVRCustomPresenter::supportedFormatsChanged().

+ Here is the caller graph for this function:

◆ createVideoSamples()

HRESULT D3DPresentEngine::createVideoSamples ( IMFMediaType *  format,
QList< IMFSample * > &  videoSampleQueue,
QSize  frameSize 
)

Definition at line 573 of file evrd3dpresentengine.cpp.

References QList< T >::append(), frameSize(), QSize::height(), i, QSize::isEmpty(), QSize::isValid(), qt_evr_getFourCC(), qt_evr_pixelFormatFromD3DFormat(), releaseResources(), and QSize::width().

+ Here is the call graph for this function:

◆ getService()

HRESULT D3DPresentEngine::getService ( REFGUID  guidService,
REFIID  riid,
void **  ppv 
)

Definition at line 519 of file evrd3dpresentengine.cpp.

References ppv, and riid.

Referenced by EVRCustomPresenter::GetService().

+ Here is the caller graph for this function:

◆ isValid()

bool D3DPresentEngine::isValid ( ) const

Definition at line 509 of file evrd3dpresentengine.cpp.

Referenced by EVRCustomPresenter::isValid().

+ Here is the caller graph for this function:

◆ makeVideoFrame()

QVideoFrame D3DPresentEngine::makeVideoFrame ( IMFSample *  sample)

Definition at line 634 of file evrd3dpresentengine.cpp.

References QRhi::backend(), QRhi::D3D11, frame, IMFSampleVideoBuffer, QRhi::OpenGLES2, QVideoSink::rhi(), and startTime.

Referenced by EVRCustomPresenter::presentSample().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ refreshRate()

UINT D3DPresentEngine::refreshRate ( ) const
inline

Definition at line 108 of file evrd3dpresentengine_p.h.

◆ releaseResources()

void D3DPresentEngine::releaseResources ( )

Definition at line 514 of file evrd3dpresentengine.cpp.

Referenced by ~D3DPresentEngine(), createVideoSamples(), and setSink().

+ Here is the caller graph for this function:

◆ setSink()

void D3DPresentEngine::setSink ( QVideoSink sink)

Definition at line 337 of file evrd3dpresentengine.cpp.

References qWarning, and releaseResources().

Referenced by D3DPresentEngine(), and EVRCustomPresenter::setSink().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ videoSurfaceFormat()

QVideoFrameFormat D3DPresentEngine::videoSurfaceFormat ( ) const
inline

Definition at line 111 of file evrd3dpresentengine_p.h.

Referenced by EVRCustomPresenter::presentSample().

+ Here is the caller graph for this function:

Friends And Related Symbol Documentation

◆ IMFSampleVideoBuffer

friend class IMFSampleVideoBuffer
friend

Definition at line 147 of file evrd3dpresentengine_p.h.

Referenced by makeVideoFrame().


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