4#ifndef AVFMEDIAPLAYER_H
5#define AVFMEDIAPLAYER_H
18#include <QtMultimedia/qmediaplayer.h>
19#include <QtMultimedia/qvideoframe.h>
20#include <QtMultimedia/private/qplatformmediaplayer_p.h>
21#include <QtCore/qbytearray.h>
22#include <QtCore/qobject.h>
23#include <QtCore/qresource.h>
24#include <QtCore/qset.h>
25#include <QtCore/qtimer.h>
26#include <QtCore/qurl.h>
28#import <AVFoundation/AVFoundation.h>
30@
class AVFMediaPlayerObserver;
52 void setMedia(
const QUrl &content, QIODevice *stream)
override;
69 QtVideo::Rotation &angle,
121 void applySubtitleSelection();
122 void resetSubtitleGroup();
124 void resetStream(QIODevice *stream =
nullptr);
125 void applyPitchCompensation(
bool enabled);
126 void resetBufferProgress();
128 void orientationChanged(QtVideo::Rotation rotation,
bool mirrored);
135 AVMediaSelectionGroup *m_subtitleGroup =
nullptr;
136 int m_subtitleGroupGeneration = 0;
137 int m_requestedSubtitleTrack = -1;
139 QIODevice *m_mediaStream;
141 QMediaMetaData m_metaData;
144 qint64 m_requestedPosition;
147 int m_bufferProgress;
148 bool m_pitchCompensationEnabled{
false };
150 AVFMediaPlayerObserver *m_observer;
152 QTimer m_playbackTimer;