00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef QGST_BUS_H
00018 #define QGST_BUS_H
00019
00020 #include "object.h"
00021 #include "clocktime.h"
00022
00023 namespace QGst {
00024
00051 class QTGSTREAMER_EXPORT Bus : public Object
00052 {
00053 QGST_WRAPPER(Bus)
00054 public:
00056 static BusPtr create();
00057
00058
00060 bool post(const MessagePtr & message);
00061
00062
00064 bool hasPendingMessages() const;
00065
00067 MessagePtr peek() const;
00068
00074 MessagePtr pop(ClockTime timeout = 0);
00075
00082 MessagePtr pop(MessageType type, ClockTime timeout = 0);
00083
00084
00088 void setFlushing(bool flush);
00089
00090
00109 void addSignalWatch();
00110
00115 void removeSignalWatch();
00116
00117
00125 void enableSyncMessageEmission();
00126
00132 void disableSyncMessageEmission();
00133 };
00134
00135 }
00136
00137 QGST_REGISTER_TYPE(QGst::Bus)
00138
00139 #endif //QGST_BUS_H