24 #include "Utils/Settings/SayonaraClass.h" 25 #include "Utils/Pimpl.h" 28 #include <gst/gstbuffer.h> 52 test_and_error(
void* element,
const QString& errorstr);
55 test_and_error_bool(
bool b,
const QString& errorstr);
69 void sig_duration_changed();
73 bool _about_to_finish;
77 GstElement* _pipeline=
nullptr;
81 int64_t _position_source_ms;
82 int64_t _position_pipeline_ms;
84 bool tee_connect(GstElement* tee,
85 GstPadTemplate* tee_src_pad_template,
87 const QString& queue_name
89 bool create_element(GstElement** elem,
const gchar* elem_name,
const gchar* name=
"");
91 virtual bool create_elements()=0;
92 virtual bool add_and_link_elements()=0;
93 virtual bool configure_elements()=0;
95 virtual uint64_t get_about_to_finish_time()
const;
99 void sig_about_to_finish(int64_t);
100 void sig_pos_changed_ms(int64_t);
101 void sig_data(uchar*, uint64_t);
106 virtual void pause();
114 virtual GstElement* get_source()
const=0;
115 virtual bool init(GstState state=GST_STATE_READY);
116 virtual GstElement* get_pipeline()
const;
117 virtual GstState get_state();
118 virtual void refresh_position();
120 virtual void finished();
121 virtual void check_about_to_finish();
122 virtual int64_t get_time_to_go()
const;
123 virtual void set_data(uchar* data, uint64_t size);
125 virtual bool set_uri(gchar* uri);
127 void update_duration_ms(int64_t duration_ms, GstElement* src);
128 virtual int64_t get_duration_ms()
const final ;
129 virtual int64_t get_source_position_ms()
const final;
130 virtual int64_t get_pipeline_position_ms()
const final;
132 bool has_element(GstElement* e)
const;
136 #endif // GSTPIPELINE_H The SayonaraClass class provides access to Settings and notifications.
Definition: SayonaraClass.h:29
Definition: AbstractEngine.h:33
The AbstractPipeline class.
Definition: AbstractPipeline.h:61
The Engine class.
Definition: AbstractEngine.h:51
GSTFileMode
The GSTFileMode enum.
Definition: AbstractPipeline.h:45
Definition: AbstractPipeline.h:39