26 #include "Components/Engine/gstfwd.h" 28 #include "Utils/MetaData/MetaData.h" 29 #include "Utils/Pimpl.h" 57 void sig_md_changed(
const MetaData& md);
58 void sig_duration_changed(
const MetaData& md);
59 void sig_bitrate_changed(
const MetaData& md);
60 void sig_cover_changed(
const QImage& img);
62 void sig_pos_changed_ms(MilliSeconds pos_ms);
63 void sig_buffering(
int progress);
65 void sig_track_ready();
66 void sig_track_almost_finished(MilliSeconds time2go);
67 void sig_track_finished();
69 void sig_error(
const QString& message);
73 explicit Base(
Name name, QObject* parent=
nullptr);
76 virtual Name name()
const final;
78 virtual bool init()=0;
80 virtual void update_metadata(
const MetaData& md, GstElement* src);
81 virtual void update_cover(
const QImage& img, GstElement* src);
82 virtual void update_duration(MilliSeconds duration_ms, GstElement* src);
83 virtual void update_bitrate(Bitrate br, GstElement* src);
85 virtual void set_track_ready(GstElement* src);
86 virtual void set_track_almost_finished(MilliSeconds time2go);
87 virtual void set_track_finished(GstElement* src);
89 virtual void set_buffer_state(
int percent, GstElement* src);
91 virtual bool change_track(
const MetaData& md);
92 virtual bool change_track_by_filename(
const QString& filepath);
96 virtual void play()=0;
98 virtual void pause()=0;
99 virtual void error(
const QString& error);
101 virtual void jump_abs_ms(MilliSeconds ms)=0;
102 virtual void jump_rel_ms(MilliSeconds ms)=0;
103 virtual void jump_rel(
double ms)=0;
107 virtual bool change_uri(
const QString& uri)=0;
112 virtual bool change_metadata(
const MetaData& md);
116 void set_current_position_ms(MilliSeconds pos_ms);
117 MilliSeconds current_position_ms()
const;
Definition: AbstractEngine.h:32
The Engine class.
Definition: AbstractEngine.h:50
Name
The EngineName enum.
Definition: AbstractEngine.h:38