4#ifndef AVFMEDIAPLAYER_H
5#define AVFMEDIAPLAYER_H
18#include <QtCore/QObject>
19#include <QtCore/QByteArray>
21#include <QtCore/QResource>
23#include <QtCore/QTimer>
25#include <private/qplatformmediaplayer_p.h>
26#include <QtMultimedia/QMediaPlayer>
27#include <QtMultimedia/QVideoFrame>
29#import <AvFoundation/AVFoundation.h>
31@
class AVFMediaPlayerObserver;
55 void setMedia(
const QUrl &content, QIODevice *stream)
override;
76 QtVideo::Rotation &angle,
112 void setActiveTrack(QPlatformMediaPlayer::TrackType type,
int index)
override;
113 int activeTrack(QPlatformMediaPlayer::TrackType type)
override;
122 void setAudioAvailable(
bool available);
123 void setVideoAvailable(
bool available);
124 void setSeekable(
bool seekable);
125 void resetStream(QIODevice *stream =
nullptr);
126 void applyPitchCompensation(
bool enabled);
128 void orientationChanged(QtVideo::Rotation rotation,
bool mirrored);
133 QMediaPlayer::PlaybackState m_state;
134 QMediaPlayer::MediaStatus m_mediaStatus;
135 QIODevice *m_mediaStream;
137 QMediaMetaData m_metaData;
140 qint64 m_requestedPosition;
143 int m_bufferProgress;
144 bool m_videoAvailable;
145 bool m_audioAvailable;
147 bool m_pitchCompensationEnabled{
false };
149 AVFMediaPlayerObserver *m_observer;
151 QTimer m_playbackTimer;