24 #include "Utils/Pimpl.h" 29 #include <gst/gstbuffer.h> 59 void sig_duration_changed();
62 virtual bool create_elements()=0;
63 virtual bool add_and_link_elements()=0;
64 virtual bool configure_elements()=0;
66 virtual MilliSeconds get_about_to_finish_time()
const;
67 void set_about_to_finish(
bool b);
71 void sig_about_to_finish(MilliSeconds ms);
72 void sig_pos_changed_ms(MilliSeconds ms);
73 void sig_data(Byte*, uint64_t);
86 virtual GstElement* get_source()
const=0;
87 virtual bool init(GstState state=GST_STATE_READY);
88 virtual GstElement* pipeline()
const;
89 virtual GstState get_state();
90 virtual void refresh_position();
92 virtual void finished();
93 virtual void check_about_to_finish();
94 virtual MilliSeconds get_time_to_go()
const;
95 virtual void set_data(uchar* data, uint64_t size);
97 virtual bool set_uri(gchar* uri);
99 void update_duration_ms(MilliSeconds duration_ms, GstElement* src);
100 virtual MilliSeconds get_duration_ms()
const final ;
101 virtual MilliSeconds get_source_position_ms()
const final;
102 virtual MilliSeconds get_pipeline_position_ms()
const final;
104 bool has_element(GstElement* e)
const;
108 #endif // GSTPIPELINE_H Definition: AbstractEngine.h:32
The AbstractPipeline class.
Definition: AbstractPipeline.h:52
The Engine class.
Definition: AbstractEngine.h:50
GSTFileMode
The GSTFileMode enum.
Definition: AbstractPipeline.h:42
Definition: AbstractPipeline.h:36