4#ifndef AVFVIDEORENDERERCONTROL_H
5#define AVFVIDEORENDERERCONTROL_H
18#include <QtCore/qobject.h>
19#include <QtCore/qmutex.h>
20#include <QtCore/qsize.h>
21#include <QtCore/private/qcore_mac_p.h>
23#include <avfvideosink_p.h>
25#include <CoreVideo/CVBase.h>
26#include <CoreVideo/CVPixelBuffer.h>
46 void setLayer(CALayer *layer)
override;
53 m_sink->setSubtitleText(subtitle);
59 AVPlayerLayer *playerLayer()
const {
return static_cast<AVPlayerLayer *>(m_layer); }
60 QCFType<CVPixelBufferRef> copyPixelBufferFromLayer(size_t &width, size_t &height);
63 AVFDisplayLink *m_displayLink =
nullptr;
64 AVPlayerItemVideoOutput *m_videoOutput =
nullptr;
65 AVPlayerItemLegibleOutput *m_subtitleOutput =
nullptr;
66 SubtitleDelegate *m_subtitleDelegate =
nullptr;
68 bool m_mirrored =
false;
Q_FORWARD_DECLARE_OBJC_CLASS(SubtitleDelegate)
Q_FORWARD_DECLARE_OBJC_CLASS(AVPlayerItemLegibleOutput)
Q_FORWARD_DECLARE_OBJC_CLASS(AVPlayerItemVideoOutput)
void setVideoMirrored(bool mirrored)
void setSubtitleText(const QString &subtitle)
~AVFVideoRendererControl() override
void setVideoRotation(QtVideo::Rotation)
void setLayer(CALayer *layer) override
void reconfigure() override
void setVideoSink(AVFVideoSink *sink)
Q_FORWARD_DECLARE_OBJC_CLASS(NSObject)