19 #ifndef CORE_UBUNTU_MEDIA_PLAYER_H_
20 #define CORE_UBUNTU_MEDIA_PLAYER_H_
24 #include <core/property.h>
38 class Player :
public std::enable_shared_from_this<Player>
120 virtual std::shared_ptr<TrackList>
track_list() = 0;
121 virtual PlayerKey
key()
const = 0;
126 virtual GLConsumerWrapperHybris
gl_consumer()
const = 0;
127 virtual void next() = 0;
129 virtual void play() = 0;
130 virtual void pause() = 0;
131 virtual void stop() = 0;
132 virtual void seek_to(
const std::chrono::microseconds& offset) = 0;
138 virtual const core::Property<bool>&
can_play()
const = 0;
139 virtual const core::Property<bool>&
can_pause()
const = 0;
140 virtual const core::Property<bool>&
can_seek()
const = 0;
142 virtual const core::Property<bool>&
can_go_next()
const = 0;
145 virtual const core::Property<PlaybackStatus>&
playback_status()
const = 0;
146 virtual const core::Property<LoopStatus>&
loop_status()
const = 0;
147 virtual const core::Property<PlaybackRate>&
playback_rate()
const = 0;
148 virtual const core::Property<bool>&
is_shuffle()
const = 0;
150 virtual const core::Property<Volume>&
volume()
const = 0;
153 virtual const core::Property<int64_t>&
position()
const = 0;
154 virtual const core::Property<int64_t>&
duration()
const = 0;
156 virtual const core::Property<Orientation>&
orientation()
const = 0;
157 virtual const core::Property<Lifetime>&
lifetime()
const = 0;
159 virtual core::Property<LoopStatus>&
loop_status() = 0;
161 virtual core::Property<bool>&
is_shuffle() = 0;
162 virtual core::Property<Volume>&
volume() = 0;
164 virtual core::Property<Lifetime>&
lifetime() = 0;
166 virtual const core::Signal<int64_t>&
seeked_to()
const = 0;
175 virtual const core::Signal<Error>&
error()
const = 0;
185 #endif // CORE_UBUNTU_MEDIA_PLAYER_H_