summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/lib.h
authorsimon <simon>2002-12-02 10:25:36 (UTC)
committer simon <simon>2002-12-02 10:25:36 (UTC)
commit4447c70039ba1a3104bf229628699f33b8608973 (patch) (side-by-side diff)
tree9810b07492a20f1ec9332da8c353469c8c120e2e /noncore/multimedia/opieplayer2/lib.h
parent2f11390d99fba4eefa330322e11280802fb6dc26 (diff)
downloadopie-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.h8
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);