Sayonara Player
Signals | Public Member Functions | Public Slots | Protected Member Functions | Protected Attributes | List of all members
AbstractPipeline Class Referenceabstract

Signals

void sig_duration_changed ()
 
void sig_finished ()
 
void sig_about_to_finish (qint64)
 
void sig_pos_changed_ms (qint64)
 
void sig_data (uchar *, quint64)
 

Public Member Functions

 AbstractPipeline (QString name, Engine *engine, QObject *parent=nullptr)
 
virtual GstElement * get_source () const =0
 
virtual bool init (GstState state=GST_STATE_READY)
 
virtual GstElement * get_pipeline () const
 
virtual GstBus * get_bus ()
 
virtual GstState get_state ()
 
virtual void refresh_position ()
 
virtual void refresh_duration ()
 
virtual void finished ()
 
virtual void check_about_to_finish ()
 
virtual qint64 get_time_to_go () const
 
virtual void set_data (uchar *data, quint64 size)
 
virtual bool set_uri (gchar *uri)
 
virtual gchar * get_uri ()
 
virtual qint64 get_duration_ms () final
 
virtual qint64 get_position_ms () final
 
bool has_element (GstElement *e) const
 

Public Slots

virtual void play ()=0
 
virtual void pause ()=0
 
virtual void stop ()=0
 

Protected Member Functions

bool tee_connect (GstElement *tee, GstPadTemplate *tee_src_pad_template, GstElement *queue, const QString &queue_name)
 
bool create_element (GstElement **elem, const gchar *elem_name, const gchar *name="")
 
virtual bool create_elements ()=0
 
virtual bool add_and_link_elements ()=0
 
virtual bool configure_elements ()=0
 
virtual quint64 get_about_to_finish_time () const
 

Protected Attributes

QString _name
 
GstBus * _bus =nullptr
 
GstElement * _pipeline =nullptr
 
gchar * _uri =nullptr
 
qint64 _duration_ms
 
qint64 _position_ms
 
Settings_settings =nullptr
 
Inheritance diagram for AbstractPipeline:
SayonaraClass ConvertPipeline PlaybackPipeline