24 #include "Utils/Settings/SayonaraClass.h" 25 #include "Utils/Pimpl.h" 30 #include <gst/gstbuffer.h> 61 void sig_duration_changed();
64 virtual bool create_elements()=0;
65 virtual bool add_and_link_elements()=0;
66 virtual bool configure_elements()=0;
68 virtual MilliSeconds get_about_to_finish_time()
const;
69 void set_about_to_finish(
bool b);
73 void sig_about_to_finish(MilliSeconds ms);
74 void sig_pos_changed_ms(MilliSeconds ms);
75 void sig_data(Byte*, uint64_t);
88 virtual GstElement* get_source()
const=0;
89 virtual bool init(GstState state=GST_STATE_READY);
90 virtual GstElement* pipeline()
const;
91 virtual GstState get_state();
92 virtual void refresh_position();
94 virtual void finished();
95 virtual void check_about_to_finish();
96 virtual MilliSeconds get_time_to_go()
const;
97 virtual void set_data(uchar* data, uint64_t size);
99 virtual bool set_uri(gchar* uri);
101 void update_duration_ms(MilliSeconds duration_ms, GstElement* src);
102 virtual MilliSeconds get_duration_ms()
const final ;
103 virtual MilliSeconds get_source_position_ms()
const final;
104 virtual MilliSeconds get_pipeline_position_ms()
const final;
106 bool has_element(GstElement* e)
const;
110 #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:53
The Engine class.
Definition: AbstractEngine.h:51
GSTFileMode
The GSTFileMode enum.
Definition: AbstractPipeline.h:43
Definition: AbstractPipeline.h:37