19 #ifndef LOMIRI_MEDIAHUB_PLAYER_H
20 #define LOMIRI_MEDIAHUB_PLAYER_H
25 #include <QScopedPointer>
43 Q_PROPERTY(
bool canPlay READ canPlay NOTIFY controlsChanged)
44 Q_PROPERTY(
bool canPause READ canPause NOTIFY controlsChanged)
45 Q_PROPERTY(
bool canSeek READ canSeek NOTIFY controlsChanged)
46 Q_PROPERTY(
bool canGoPrevious READ canGoPrevious NOTIFY controlsChanged)
47 Q_PROPERTY(
bool canGoNext READ canGoNext NOTIFY controlsChanged)
49 Q_PROPERTY(
bool isVideoSource READ isVideoSource NOTIFY sourceTypeChanged)
50 Q_PROPERTY(
bool isAudioSource READ isAudioSource NOTIFY sourceTypeChanged)
53 NOTIFY playbackStatusChanged)
54 Q_PROPERTY(
bool shuffle READ shuffle WRITE setShuffle
55 NOTIFY shuffleChanged)
56 Q_PROPERTY(
Volume volume READ volume WRITE setVolume NOTIFY volumeChanged)
57 Q_PROPERTY(
Track::MetaData metaDataForCurrentTrack
58 READ metaDataForCurrentTrack
59 NOTIFY metaDataForCurrentTrackChanged)
62 READ playbackRate WRITE setPlaybackRate
63 NOTIFY playbackRateChanged)
64 Q_PROPERTY(
PlaybackRate minimumPlaybackRate READ minimumPlaybackRate
65 NOTIFY minimumPlaybackRateChanged)
66 Q_PROPERTY(
PlaybackRate maximumPlaybackRate READ maximumPlaybackRate
67 NOTIFY maximumPlaybackRateChanged)
69 Q_PROPERTY(quint64 position READ position NOTIFY positionChanged)
70 Q_PROPERTY(quint64 duration READ duration NOTIFY durationChanged)
72 NOTIFY orientationChanged)
74 Q_PROPERTY(
LoopStatus loopStatus READ loopStatus WRITE setLoopStatus
75 NOTIFY loopStatusChanged)
77 READ audioStreamRole WRITE setAudioStreamRole
78 NOTIFY audioStreamRoleChanged)
92 Q_ENUM(PlaybackStatus)
112 Q_ENUM(AudioStreamRole)
128 QString uuid()
const;
140 VideoSink &createGLTextureVideoSink(uint32_t textureId);
142 void openUri(
const QUrl &uri,
const Headers &headers = {});
148 void seekTo(uint64_t microseconds);
153 bool canPlay()
const;
154 bool canPause()
const;
155 bool canSeek()
const;
156 bool canGoPrevious()
const;
157 bool canGoNext()
const;
159 bool isVideoSource()
const;
160 bool isAudioSource()
const;
162 PlaybackStatus playbackStatus()
const;
163 void setPlaybackRate(PlaybackRate rate);
164 PlaybackRate playbackRate()
const;
165 void setShuffle(
bool shuffle);
166 bool shuffle()
const;
167 void setVolume(Volume volume);
168 Volume volume()
const;
169 Track::MetaData metaDataForCurrentTrack()
const;
170 PlaybackRate minimumPlaybackRate()
const;
171 PlaybackRate maximumPlaybackRate()
const;
172 quint64 position()
const;
173 quint64 duration()
const;
174 Orientation orientation()
const;
175 void setLoopStatus(LoopStatus loopStatus);
176 LoopStatus loopStatus()
const;
177 void setAudioStreamRole(AudioStreamRole role);
178 AudioStreamRole audioStreamRole()
const;
181 void controlsChanged();
182 void sourceTypeChanged();
183 void playbackStatusChanged();
184 void backendChanged();
185 void metaDataForCurrentTrackChanged();
186 void loopStatusChanged();
187 void playbackRateChanged();
188 void shuffleChanged();
189 void volumeChanged();
190 void minimumPlaybackRateChanged();
191 void maximumPlaybackRateChanged();
192 void positionChanged(quint64 microseconds);
193 void durationChanged(quint64 microseconds);
194 void audioStreamRoleChanged();
195 void orientationChanged();
197 void seekedTo(quint64 microseconds);
198 void aboutToFinish();
200 void videoDimensionChanged(
const QSize &size);
202 void errorOccurred(
const Error &error);
203 void bufferingChanged(
int percent);
204 void serviceDisconnected();
205 void serviceReconnected();
208 Q_DECLARE_PRIVATE(Player)
209 QScopedPointer<PlayerPrivate> d_ptr;
215 #endif // LOMIRI_MEDIAHUB_PLAYER_H