Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
evrcustompresenter.cpp File Reference
#include "evrcustompresenter_p.h"
#include "evrd3dpresentengine_p.h"
#include "evrhelpers_p.h"
#include <private/qwindowsmultimediautils_p.h>
#include <private/qplatformvideosink_p.h>
#include <private/qwindowsmfdefs_p.h>
#include <rhi/qrhi.h>
#include <QtCore/qmutex.h>
#include <QtCore/qvarlengtharray.h>
#include <QtCore/qrect.h>
#include <qthread.h>
#include <qcoreapplication.h>
#include <qmath.h>
#include <QtCore/qdebug.h>
#include <mutex>
#include <float.h>
#include <evcode.h>
+ Include dependency graph for evrcustompresenter.cpp:

Go to the source code of this file.

Classes

class  PresentSampleEvent
 

Functions

static HRESULT setDesiredSampleTime (IMFSample *sample, const LONGLONG &hnsSampleTime, const LONGLONG &hnsDuration)
 
static HRESULT clearDesiredSampleTime (IMFSample *sample)
 
static HRESULT setMixerSourceRect (IMFTransform *mixer, const MFVideoNormalizedRect &nrcSource)
 
static QVideoFrameFormat::PixelFormat pixelFormatFromMediaType (IMFMediaType *type)
 
static LONG MFTimeToMsec (const LONGLONG &time)
 
bool qt_evr_setCustomPresenter (IUnknown *evr, EVRCustomPresenter *presenter)
 

Variables

QT_BEGIN_NAMESPACE static const MFRatio g_DefaultFrameRate = { 30, 1 }
 
static const DWORD SCHEDULER_TIMEOUT = 5000
 
static const MFTIME ONE_SECOND = 10000000
 
static const LONG ONE_MSEC = 1000
 

Function Documentation

◆ clearDesiredSampleTime()

HRESULT clearDesiredSampleTime ( IMFSample *  sample)
static

Definition at line 1937 of file evrcustompresenter.cpp.

References done, MFSamplePresenter_SampleCounter, and qt_evr_safe_release().

+ Here is the call graph for this function:

◆ MFTimeToMsec()

static LONG MFTimeToMsec ( const LONGLONG &  time)
inlinestatic

Definition at line 40 of file evrcustompresenter.cpp.

References ONE_MSEC, ONE_SECOND, and time.

Referenced by Scheduler::processSample().

+ Here is the caller graph for this function:

◆ pixelFormatFromMediaType()

static QVideoFrameFormat::PixelFormat pixelFormatFromMediaType ( IMFMediaType *  type)
static

Definition at line 1986 of file evrcustompresenter.cpp.

References QVideoFrameFormat::Format_Invalid, and QWindowsMultimediaUtils::pixelFormatFromMediaSubtype().

+ Here is the call graph for this function:

◆ qt_evr_setCustomPresenter()

bool qt_evr_setCustomPresenter ( IUnknown *  evr,
EVRCustomPresenter presenter 
)

Definition at line 45 of file evrcustompresenter.cpp.

References renderer.

◆ setDesiredSampleTime()

HRESULT setDesiredSampleTime ( IMFSample *  sample,
const LONGLONG &  hnsSampleTime,
const LONGLONG &  hnsDuration 
)
static

Definition at line 1921 of file evrcustompresenter.cpp.

References qt_evr_safe_release().

+ Here is the call graph for this function:

◆ setMixerSourceRect()

HRESULT setMixerSourceRect ( IMFTransform *  mixer,
const MFVideoNormalizedRect &  nrcSource 
)
static

Definition at line 1970 of file evrcustompresenter.cpp.

Variable Documentation

◆ g_DefaultFrameRate

QT_BEGIN_NAMESPACE static const MFRatio g_DefaultFrameRate = { 30, 1 }
static

Definition at line 29 of file evrcustompresenter.cpp.

◆ ONE_MSEC

const LONG ONE_MSEC = 1000
static

Definition at line 32 of file evrcustompresenter.cpp.

Referenced by MFTimeToMsec().

◆ ONE_SECOND

const MFTIME ONE_SECOND = 10000000
static

Definition at line 31 of file evrcustompresenter.cpp.

Referenced by MFTimeToMsec().

◆ SCHEDULER_TIMEOUT

const DWORD SCHEDULER_TIMEOUT = 5000
static

Definition at line 30 of file evrcustompresenter.cpp.

Referenced by Scheduler::flush().