Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qmediaenginevideobuffer_p.h
Go to the documentation of this file.
1
// Copyright (C) 2026 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4
#
ifndef
QMEDIAENGINEVIDEOBUFFER_P_H
5
#
define
QMEDIAENGINEVIDEOBUFFER_P_H
6
7
//
8
// W A R N I N G
9
// -------------
10
//
11
// This file is not part of the Qt API. It exists purely as an
12
// implementation detail. This header file may change from version to
13
// version without notice, or even be removed.
14
//
15
// We mean it.
16
//
17
18
#
include
<
QtMultimedia
/
private
/
qhwvideobuffer_p
.
h
>
19
#
include
<
QtMultimedia
/
private
/
qwindowsd3d11rhitextureimporter_p
.
h
>
20
#
include
<
QtMultimedia
/
private
/
qwindowsd3d11texturereadback_p
.
h
>
21
#
include
<
QtCore
/
qsize
.
h
>
22
#
include
<
QtCore
/
private
/
qcomptr_p
.
h
>
23
24
#
include
<
d3d11
.
h
>
25
#
include
<
d3d11_1
.
h
>
26
27
#
include
<
memory
>
28
29
QT_BEGIN_NAMESPACE
30
31
class
QMediaEngineVideoBuffer :
public
QHwVideoBuffer
32
{
33
public
:
34
// 'importer' is created once by the player and shared with every video buffer, so that
35
// the interop resources it caches (shared texture bridge, D3D11on12 wrapper device, WGL
36
// interop device handle, etc.) survive across frames.
37
QMediaEngineVideoBuffer(
38
ComPtr<ID3D11Texture2D> texture, ComPtr<ID3D11Device> engineDevice, QSize frameSize,
39
std::shared_ptr<QtMultimediaPrivate::QWindowsD3D11RhiTextureImporter> importer);
40
~QMediaEngineVideoBuffer() override;
41
42
MapData map(QVideoFrame::MapMode mode)
override
;
43
void
unmap() override;
44
45
QVideoFrameTexturesUPtr mapTextures(QRhi &rhi, QVideoFrameTexturesUPtr &oldTextures)
override
;
46
47
private
:
48
ComPtr<ID3D11Texture2D> m_texture;
49
ComPtr<ID3D11Device> m_engineDevice;
50
QSize m_frameSize;
51
52
QtMultimediaPrivate::QWindowsD3D11TextureReadback m_readback;
53
std
::shared_ptr<
QtMultimediaPrivate
::QWindowsD3D11RhiTextureImporter> m_importer;
54
};
55
56
QT_END_NAMESPACE
57
58
#
endif
// QMEDIAENGINEVIDEOBUFFER_P_H
QMediaEnginePlayer
Definition
qmediaengineplayer_p.h:47
QMediaEnginePlayer::bufferProgress
float bufferProgress() const override
Definition
qmediaengineplayer.cpp:720
QMediaEnginePlayer::setPlaybackRate
void setPlaybackRate(qreal rate) override
Definition
qmediaengineplayer.cpp:705
QMediaEnginePlayer::~QMediaEnginePlayer
~QMediaEnginePlayer() override
Definition
qmediaengineplayer.cpp:272
QMediaEnginePlayer::setActiveTrack
void setActiveTrack(TrackType type, int index) override
Definition
qmediaengineplayer.cpp:1220
QMediaEnginePlayer::stop
void stop() override
Definition
qmediaengineplayer.cpp:595
QMediaEnginePlayer::setAudioOutput
void setAudioOutput(QPlatformAudioOutput *output) override
Definition
qmediaengineplayer.cpp:951
QMediaEnginePlayer::duration
qint64 duration() const override
Definition
qmediaengineplayer.cpp:764
QMediaEnginePlayer::setMedia
void setMedia(const QUrl &media, QIODevice *stream) override
Definition
qmediaengineplayer.cpp:443
QMediaEnginePlayer::availablePlaybackRanges
QMediaTimeRange availablePlaybackRanges() const override
Definition
qmediaengineplayer.cpp:742
QMediaEnginePlayer::play
void play() override
Definition
qmediaengineplayer.cpp:522
QMediaEnginePlayer::position
qint64 position() const override
Definition
qmediaengineplayer.cpp:637
QMediaEnginePlayer::playbackRate
qreal playbackRate() const override
Definition
qmediaengineplayer.cpp:700
QMediaEnginePlayer::activeTrack
int activeTrack(TrackType type) override
Definition
qmediaengineplayer.cpp:1215
QMediaEnginePlayer::QMediaEnginePlayer
QMediaEnginePlayer(QMediaPlayer *player)
Definition
qmediaengineplayer.cpp:249
QMediaEnginePlayer::setVideoSink
void setVideoSink(QVideoSink *sink) override
Definition
qmediaengineplayer.cpp:938
QMediaEnginePlayer::media
QUrl media() const override
Definition
qmediaengineplayer.cpp:769
QMediaEnginePlayer::setPosition
void setPosition(qint64 position) override
Definition
qmediaengineplayer.cpp:666
QMediaEnginePlayer::pause
void pause() override
Definition
qmediaengineplayer.cpp:561
QMediaEnginePlayer::trackMetaData
QMediaMetaData trackMetaData(TrackType type, int trackNumber) override
Definition
qmediaengineplayer.cpp:1208
QMediaEnginePlayer::pitchCompensationAvailability
PitchCompensationAvailability pitchCompensationAvailability() const override
Definition
qmediaengineplayer.cpp:780
QMediaEnginePlayer::mediaStream
const QIODevice * mediaStream() const override
Definition
qmediaengineplayer.cpp:774
QMediaEnginePlayer::metaData
QMediaMetaData metaData() const override
Definition
qmediaengineplayer.cpp:785
QMediaEnginePlayer::trackCount
int trackCount(TrackType type) override
Definition
qmediaengineplayer.cpp:1203
QT_BEGIN_NAMESPACE
Combined button and popup list for selecting options.
Definition
qsequentialanimationgroup.cpp:47
QtMultimediaPrivate::impl
Definition
qaudiosystem_p.h:257
std
[33]
Definition
src_corelib_tools_qhash.cpp:421
Q_LOGGING_CATEGORY
Q_LOGGING_CATEGORY(lcEventDispatcher, "qt.eventdispatcher")
qtmultimedia
src
plugins
multimedia
windows
player
qmediaenginevideobuffer_p.h
Generated on
for Qt by
1.18.0