summaryrefslogtreecommitdiff
path: root/noncore/multimedia/opieplayer2/lib.h
Side-by-side diff
Diffstat (limited to 'noncore/multimedia/opieplayer2/lib.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/lib.h18
1 files changed, 17 insertions, 1 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.h b/noncore/multimedia/opieplayer2/lib.h
index 4b8dc81..34b85b9 100644
--- a/noncore/multimedia/opieplayer2/lib.h
+++ b/noncore/multimedia/opieplayer2/lib.h
@@ -52,13 +52,14 @@ namespace XINE {
* of libxine for easy every day use
* This will become a full C++ Wrapper
* It supports playing, pausing, info,
* stooping, seeking.
*/
class Frame;
- class Lib : public ThreadUtil::Channel {
+ class Lib : public ThreadUtil::Channel, private ThreadUtil::Thread
+ {
Q_OBJECT
public:
Lib(XineVideoWidget* = 0);
~Lib();
static int majorVersion();
static int minorVersion();
@@ -174,20 +175,35 @@ namespace XINE {
int error() const;
signals:
void stopped();
+ void initialized();
+
protected:
virtual void receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType );
+ virtual void run();
+
private:
void initialize();
void assertInitialized() const;
+ enum { XineMessageType = 1, InitializationMessageType };
+
+ struct XineMessage : public ThreadUtil::ChannelMessage
+ {
+ XineMessage( int _xineEvent ) : ThreadUtil::ChannelMessage( XineMessageType ),
+ xineEvent( _xineEvent )
+ {}
+
+ int xineEvent;
+ };
+
mutable ThreadUtil::Mutex m_initGuard;
bool m_initialized : 1;
int m_bytes_per_pixel;
bool m_video:1;
XineVideoWidget *m_wid;