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>
28#import <AvFoundation/AVFoundation.h>
45 void setLayer(CALayer *layer)
override;
52 m_sink->setSubtitleText(subtitle);
58 AVPlayerLayer *playerLayer()
const {
return static_cast<AVPlayerLayer *>(m_layer); }
59 QCFType<CVPixelBufferRef> copyPixelBufferFromLayer(size_t &width, size_t &height);
62 AVFDisplayLink *m_displayLink =
nullptr;
63 AVPlayerItemVideoOutput *m_videoOutput =
nullptr;
64 AVPlayerItemLegibleOutput *m_subtitleOutput =
nullptr;
65 SubtitleDelegate *m_subtitleDelegate =
nullptr;
67 bool m_mirrored =
false;
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)