Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QVideoWindowPrivate Class Reference

#include <qvideowindow_p.h>

Collaboration diagram for QVideoWindowPrivate:

Public Member Functions

 QVideoWindowPrivate (QVideoWindow *qq)
 ~QVideoWindowPrivate ()
bool canRender () const
QRhi * rhi () const
void init ()
void render ()
void initRhi ()
void resizeSwapChain ()
void releaseSwapChain ()
void updateTextures (QRhiResourceUpdateBatch *rub)
void updateSubtitle (QRhiResourceUpdateBatch *rub, const QSize &frameSize)
void setupGraphicsPipeline (QRhiGraphicsPipeline *pipeline, QRhiShaderResourceBindings *bindings, const QVideoFrameFormat &fmt)
void setPostRenderHookForTests (std::function< void(QRhi &, QRhiCommandBuffer &)> hook)

Static Public Member Functions

static void setGraphicsApiOverride (std::optional< QRhi::Implementation > api)
static QVideoWindowPrivate * get (QVideoWindow *qq)

Public Attributes

QVideoWindow * q = nullptr
Qt::AspectRatioMode aspectRatioMode = Qt::KeepAspectRatio
QBackingStore * backingStore = nullptr
std::unique_ptr< QRhi > m_rhi
std::unique_ptr< QRhiSwapChain > m_swapChain
std::unique_ptr< QRhiRenderPassDescriptor > m_renderPass
std::unique_ptr< QRhiBuffer > m_vertexBuf
bool m_vertexBufReady = false
std::unique_ptr< QRhiBuffer > m_uniformBuf
std::unique_ptr< QRhiSampler > m_textureSampler
std::unique_ptr< QRhiShaderResourceBindings > m_shaderResourceBindings
std::unique_ptr< QRhiGraphicsPipeline > m_graphicsPipeline
std::unique_ptr< QRhiTexture > m_subtitleTexture
std::unique_ptr< QRhiShaderResourceBindings > m_subtitleResourceBindings
std::unique_ptr< QRhiGraphicsPipeline > m_subtitlePipeline
std::unique_ptr< QRhiBuffer > m_subtitleUniformBuf
std::unique_ptr< QVideoSink > m_sink
std::function< void(QRhi &, QRhiCommandBuffer &)> m_postRenderHookForTests
QRhi::Implementation m_graphicsApi = QRhi::Null
QVideoTextureHelper::SubtitleLayout m_subtitleLayout
QVideoFrameTexturePool m_texturePool
bool initialized = false
bool isExposed = false
bool m_useRhi = true
bool m_hasSwapChain = false
bool m_subtitleDirty = false
bool m_hasSubtitle = false
QVideoFrameFormat format

Detailed Description

Definition at line 35 of file qvideowindow_p.h.

Constructor & Destructor Documentation

◆ QVideoWindowPrivate()

QVideoWindowPrivate::QVideoWindowPrivate ( QVideoWindow * q)

Definition at line 69 of file qvideowindow.cpp.

◆ ~QVideoWindowPrivate()

QVideoWindowPrivate::~QVideoWindowPrivate ( )

Definition at line 106 of file qvideowindow.cpp.

Member Function Documentation

◆ canRender()

bool QVideoWindowPrivate::canRender ( ) const
inline

Definition at line 42 of file qvideowindow_p.h.

◆ get()

QVideoWindowPrivate * QVideoWindowPrivate::get ( QVideoWindow * q)
inlinestatic

Definition at line 132 of file qvideowindow_p.h.

◆ init()

void QVideoWindowPrivate::init ( )

Definition at line 319 of file qvideowindow.cpp.

◆ initRhi()

void QVideoWindowPrivate::initRhi ( )

Definition at line 146 of file qvideowindow.cpp.

◆ releaseSwapChain()

void QVideoWindowPrivate::releaseSwapChain ( )

Definition at line 338 of file qvideowindow.cpp.

◆ render()

void QVideoWindowPrivate::render ( )

Definition at line 346 of file qvideowindow.cpp.

◆ resizeSwapChain()

void QVideoWindowPrivate::resizeSwapChain ( )

Definition at line 333 of file qvideowindow.cpp.

◆ rhi()

QRhi * QVideoWindowPrivate::rhi ( ) const
inline

Definition at line 46 of file qvideowindow_p.h.

◆ setGraphicsApiOverride()

void QVideoWindowPrivate::setGraphicsApiOverride ( std::optional< QRhi::Implementation > api)
static

Definition at line 64 of file qvideowindow.cpp.

◆ setPostRenderHookForTests()

void QVideoWindowPrivate::setPostRenderHookForTests ( std::function< void(QRhi &, QRhiCommandBuffer &)> hook)

Definition at line 489 of file qvideowindow.cpp.

◆ setupGraphicsPipeline()

void QVideoWindowPrivate::setupGraphicsPipeline ( QRhiGraphicsPipeline * pipeline,
QRhiShaderResourceBindings * bindings,
const QVideoFrameFormat & fmt )

Definition at line 217 of file qvideowindow.cpp.

◆ updateSubtitle()

void QVideoWindowPrivate::updateSubtitle ( QRhiResourceUpdateBatch * rub,
const QSize & frameSize )

Definition at line 283 of file qvideowindow.cpp.

◆ updateTextures()

void QVideoWindowPrivate::updateTextures ( QRhiResourceUpdateBatch * rub)

Definition at line 244 of file qvideowindow.cpp.

Member Data Documentation

◆ aspectRatioMode

Qt::AspectRatioMode QVideoWindowPrivate::aspectRatioMode = Qt::KeepAspectRatio

Definition at line 64 of file qvideowindow_p.h.

◆ backingStore

QBackingStore* QVideoWindowPrivate::backingStore = nullptr

Definition at line 66 of file qvideowindow_p.h.

◆ format

QVideoFrameFormat QVideoWindowPrivate::format

Definition at line 99 of file qvideowindow_p.h.

◆ initialized

bool QVideoWindowPrivate::initialized = false

Definition at line 93 of file qvideowindow_p.h.

◆ isExposed

bool QVideoWindowPrivate::isExposed = false

Definition at line 94 of file qvideowindow_p.h.

◆ m_graphicsApi

QRhi::Implementation QVideoWindowPrivate::m_graphicsApi = QRhi::Null

Definition at line 89 of file qvideowindow_p.h.

◆ m_graphicsPipeline

std::unique_ptr<QRhiGraphicsPipeline> QVideoWindowPrivate::m_graphicsPipeline

Definition at line 80 of file qvideowindow_p.h.

◆ m_hasSubtitle

bool QVideoWindowPrivate::m_hasSubtitle = false

Definition at line 98 of file qvideowindow_p.h.

◆ m_hasSwapChain

bool QVideoWindowPrivate::m_hasSwapChain = false

Definition at line 96 of file qvideowindow_p.h.

◆ m_postRenderHookForTests

std::function<void(QRhi &, QRhiCommandBuffer &)> QVideoWindowPrivate::m_postRenderHookForTests

Definition at line 88 of file qvideowindow_p.h.

◆ m_renderPass

std::unique_ptr<QRhiRenderPassDescriptor> QVideoWindowPrivate::m_renderPass

Definition at line 73 of file qvideowindow_p.h.

◆ m_rhi

std::unique_ptr<QRhi> QVideoWindowPrivate::m_rhi

Definition at line 71 of file qvideowindow_p.h.

◆ m_shaderResourceBindings

std::unique_ptr<QRhiShaderResourceBindings> QVideoWindowPrivate::m_shaderResourceBindings

Definition at line 79 of file qvideowindow_p.h.

◆ m_sink

std::unique_ptr<QVideoSink> QVideoWindowPrivate::m_sink

Definition at line 87 of file qvideowindow_p.h.

◆ m_subtitleDirty

bool QVideoWindowPrivate::m_subtitleDirty = false

Definition at line 97 of file qvideowindow_p.h.

◆ m_subtitleLayout

QVideoTextureHelper::SubtitleLayout QVideoWindowPrivate::m_subtitleLayout

Definition at line 90 of file qvideowindow_p.h.

◆ m_subtitlePipeline

std::unique_ptr<QRhiGraphicsPipeline> QVideoWindowPrivate::m_subtitlePipeline

Definition at line 84 of file qvideowindow_p.h.

◆ m_subtitleResourceBindings

std::unique_ptr<QRhiShaderResourceBindings> QVideoWindowPrivate::m_subtitleResourceBindings

Definition at line 83 of file qvideowindow_p.h.

◆ m_subtitleTexture

std::unique_ptr<QRhiTexture> QVideoWindowPrivate::m_subtitleTexture

Definition at line 82 of file qvideowindow_p.h.

◆ m_subtitleUniformBuf

std::unique_ptr<QRhiBuffer> QVideoWindowPrivate::m_subtitleUniformBuf

Definition at line 85 of file qvideowindow_p.h.

◆ m_swapChain

std::unique_ptr<QRhiSwapChain> QVideoWindowPrivate::m_swapChain

Definition at line 72 of file qvideowindow_p.h.

◆ m_texturePool

QVideoFrameTexturePool QVideoWindowPrivate::m_texturePool

Definition at line 91 of file qvideowindow_p.h.

◆ m_textureSampler

std::unique_ptr<QRhiSampler> QVideoWindowPrivate::m_textureSampler

Definition at line 78 of file qvideowindow_p.h.

◆ m_uniformBuf

std::unique_ptr<QRhiBuffer> QVideoWindowPrivate::m_uniformBuf

Definition at line 77 of file qvideowindow_p.h.

◆ m_useRhi

bool QVideoWindowPrivate::m_useRhi = true

Definition at line 95 of file qvideowindow_p.h.

◆ m_vertexBuf

std::unique_ptr<QRhiBuffer> QVideoWindowPrivate::m_vertexBuf

Definition at line 75 of file qvideowindow_p.h.

◆ m_vertexBufReady

bool QVideoWindowPrivate::m_vertexBufReady = false

Definition at line 76 of file qvideowindow_p.h.

◆ q

QVideoWindow* QVideoWindowPrivate::q = nullptr

Definition at line 63 of file qvideowindow_p.h.


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