27 #include "Helper/Settings/SayonaraClass.h" 31 #include <gst/gstbuffer.h> 34 enum class GSTFileMode : quint8 {
40 _test_and_error(
void* element, QString errorstr);
43 _test_and_error_bool(
bool b, QString errorstr);
51 bool _about_to_finish;
61 GstElement* _pipeline=
nullptr;
68 virtual bool create_element(GstElement** elem,
const gchar* elem_name,
const gchar* name=
"");
69 virtual bool create_elements()=0;
70 virtual bool add_and_link_elements()=0;
71 virtual bool configure_elements()=0;
75 void sig_about_to_finish(qint64);
76 void sig_pos_changed_ms(qint64);
77 void sig_data(uchar*, quint64);
81 virtual void play()=0;
82 virtual void pause()=0;
83 virtual void stop()=0;
85 virtual qint64 get_duration_ms()
final;
86 virtual qint64 get_position_ms()
final;
87 virtual void set_speed(
float f);
94 virtual GstElement* get_source()
const=0;
95 virtual bool init(GstState state=GST_STATE_READY);
96 virtual GstElement* get_pipeline();
97 virtual GstBus* get_bus();
98 virtual GstState get_state();
99 virtual void refresh_position();
100 virtual void refresh_duration();
101 virtual void finished();
102 virtual void check_about_to_finish();
103 virtual qint64 get_time_to_go()
const;
104 virtual void set_data(uchar* data, quint64 size);
106 virtual bool set_uri(gchar* uri);
107 virtual gchar* get_uri();
111 #endif // GSTPIPELINE_H The SayonaraClass class provides access to Settings and notifications.
Definition: SayonaraClass.h:31
Definition: AbstractEngine.h:38
Definition: AbstractPipeline.h:46