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
evrvideowindowcontrol_p.h
Go to the documentation of this file.
1// Copyright (C) 2016 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 EVRVIDEOWINDOWCONTROL_H
5#define EVRVIDEOWINDOWCONTROL_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 <d3d9.h>
19#include <dxva2api.h>
20#include <evr9.h>
21#include <evr.h>
22#include <private/qplatformvideosink_p.h>
23
25
26class EvrVideoWindowControl : public QPlatformVideoSink
27{
28 Q_OBJECT
29public:
30 EvrVideoWindowControl(QVideoSink *parent = 0);
31 ~EvrVideoWindowControl() override;
32
33 bool setEvr(IUnknown *evr);
34
35 void setWinId(WId id) override;
36
37 void setDisplayRect(const QRect &rect) override;
38
39 void setFullScreen(bool fullScreen) override;
40
41 void setAspectRatioMode(Qt::AspectRatioMode mode) override;
42
43 void setBrightness(float brightness) override;
44 void setContrast(float contrast) override;
45 void setHue(float hue) override;
46 void setSaturation(float saturation) override;
47
48 void applyImageControls();
49
50private:
51 void clear();
52 DXVA2_Fixed32 scaleProcAmpValue(DWORD prop, float value) const;
53
54 WId m_windowId;
55 COLORREF m_windowColor;
56 DWORD m_dirtyValues;
57 Qt::AspectRatioMode m_aspectRatioMode;
58 QRect m_displayRect;
59 float m_brightness;
60 float m_contrast;
61 float m_hue;
62 float m_saturation;
63 bool m_fullScreen;
64
65 IMFVideoDisplayControl *m_displayControl;
66 IMFVideoProcessor *m_processor;
67};
68
69QT_END_NAMESPACE
70
71#endif
bool canReadQrc() const override
void setAudioFormat(const QAudioFormat &format) override
bool bufferAvailable() const override
QUrl source() const override
void setSourceDevice(QIODevice *device) override
QAudioFormat audioFormat() const override
QAudioBuffer read() override
QIODevice * sourceDevice() const override
MFEvrVideoWindowControl(QVideoSink *parent=0)
bool streamPlaybackSupported() const override
bool isAudioAvailable() const override
void handleError(QMediaPlayer::Error errorCode, const QString &errorString, bool isFatal)
qreal playbackRate() const override
QMediaMetaData metaData() const override
const QIODevice * mediaStream() const override
void pause() override
void setActiveTrack(TrackType type, int index) override
void setAudioOutput(QPlatformAudioOutput *output) override
QMediaMetaData trackMetaData(TrackType type, int trackNumber) override
void handleStatusChanged(QMediaPlayer::MediaStatus)
void setPlaybackRate(qreal rate) override
void setMedia(const QUrl &media, QIODevice *stream) override
void play() override
int activeTrack(TrackType type) override
QUrl media() const override
QMediaTimeRange availablePlaybackRanges() const override
MFPlayerControl(QMediaPlayer *player)
float bufferProgress() const override
void setVideoSink(QVideoSink *sink) override
bool isVideoAvailable() const override
void handleSeekableUpdate(bool seekable)
qint64 duration() const override
qint64 position() const override
void handleDurationUpdate(qint64 duration)
int trackCount(TrackType type) override
void setPosition(qint64 position) override
bool isSeekable() const override
void stop() override
int capture(const QString &fileName) override
virtual ~QWindowsImageCapture()
QImageEncoderSettings imageSettings() const override
void setImageSettings(const QImageEncoderSettings &settings) override
void setCaptureSession(QPlatformMediaCaptureSession *session)
bool isReadyForCapture() const override
QPlatformImageCapture * imageCapture() override
void setCamera(QPlatformCamera *camera) override
void setAudioInput(QPlatformAudioInput *) override
void setVideoPreview(QVideoSink *sink) override
QPlatformCamera * camera() override
QPlatformMediaRecorder * mediaRecorder() override
void setImageCapture(QPlatformImageCapture *imageCapture) override
void setAudioOutput(QPlatformAudioOutput *output) override
void setMediaRecorder(QPlatformMediaRecorder *recorder) override
QWindowsMediaDeviceSession * session() const
void setMetaData(const QMediaMetaData &metaData) override
QMediaRecorder::RecorderState state() const override
void setCaptureSession(QPlatformMediaCaptureSession *session)
QMediaMetaData metaData() const override
bool isLocationWritable(const QUrl &location) const override
qint64 duration() const override
void record(QMediaEncoderSettings &settings) override
q23::expected< QPlatformVideoSink *, QString > createVideoSink(QVideoSink *sink) override
QPlatformMediaFormatInfo * createFormatInfo() override
q23::expected< QPlatformAudioDecoder *, QString > createAudioDecoder(QAudioDecoder *decoder) override
q23::expected< QPlatformCamera *, QString > createCamera(QCamera *camera) override
q23::expected< QPlatformImageCapture *, QString > createImageCapture(QImageCapture *imageCapture) override
QPlatformVideoDevices * createVideoDevices() override
q23::expected< QPlatformMediaRecorder *, QString > createRecorder(QMediaRecorder *recorder) override
q23::expected< QPlatformMediaPlayer *, QString > createPlayer(QMediaPlayer *parent) override
q23::expected< QPlatformMediaCaptureSession *, QString > createCaptureSession() override
ComPtr< IMFMediaSource > mediaSource() const
void mediaSourceReady()
Combined button and popup list for selecting options.