author | simon <simon> | 2002-12-02 10:25:36 (UTC) |
---|---|---|
committer | simon <simon> | 2002-12-02 10:25:36 (UTC) |
commit | 4447c70039ba1a3104bf229628699f33b8608973 (patch) (side-by-side diff) | |
tree | 9810b07492a20f1ec9332da8c353469c8c120e2e /noncore/multimedia/opieplayer2/lib.h | |
parent | 2f11390d99fba4eefa330322e11280802fb6dc26 (diff) | |
download | opie-4447c70039ba1a3104bf229628699f33b8608973.zip opie-4447c70039ba1a3104bf229628699f33b8608973.tar.gz opie-4447c70039ba1a3104bf229628699f33b8608973.tar.bz2 |
- put a thread pipe between the xine callback handler and the receiver
on qt side, to avoid problems like repaints from within a non-gui thread
Diffstat (limited to 'noncore/multimedia/opieplayer2/lib.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.h b/noncore/multimedia/opieplayer2/lib.h index 38938a1..75b9f12 100644 --- a/noncore/multimedia/opieplayer2/lib.h +++ b/noncore/multimedia/opieplayer2/lib.h @@ -41,6 +41,8 @@ #include <xine.h> //#include "xine.h" +#include "threadutil.h" + class XineVideoWidget; namespace XINE { @@ -53,7 +55,7 @@ namespace XINE { * stooping, seeking. */ class Frame; - class Lib : public QObject { + class Lib : public ThreadUtil::Channel { Q_OBJECT public: Lib(XineVideoWidget* = 0); @@ -176,6 +178,9 @@ namespace XINE { void stopped(); + protected: + virtual void receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ); + private: int m_bytes_per_pixel; int m_length, m_pos, m_time; @@ -190,6 +195,7 @@ namespace XINE { xine_event_queue_t *m_queue; void handleXineEvent( const xine_event_t* t ); + void handleXineEvent( int type ); void drawFrame( uint8_t* frame, int width, int height, int bytes ); // C -> C++ bridge for the event system static void xine_event_handler( void* user_data, const xine_event_t* t); |