-rw-r--r-- | noncore/multimedia/opieplayer2/lib.cpp | 13 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.h | 2 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/xinecontrol.cpp | 3 |
3 files changed, 16 insertions, 2 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp index cef46a1..84194b7 100644 --- a/noncore/multimedia/opieplayer2/lib.cpp +++ b/noncore/multimedia/opieplayer2/lib.cpp | |||
@@ -99,7 +99,8 @@ Lib::Lib( InitializationMode initMode, XineVideoWidget* widget ) | |||
99 | 99 | ||
100 | void Lib::run() | 100 | void Lib::run() |
101 | { | 101 | { |
102 | assert( false ); | 102 | initialize(); |
103 | m_initialized = true; | ||
103 | } | 104 | } |
104 | 105 | ||
105 | void Lib::initialize() | 106 | void Lib::initialize() |
@@ -283,6 +284,16 @@ int Lib::error() const { | |||
283 | return xine_get_error( m_stream ); | 284 | return xine_get_error( m_stream ); |
284 | }; | 285 | }; |
285 | 286 | ||
287 | void Lib::ensureInitialized() | ||
288 | { | ||
289 | if ( m_initialized ) | ||
290 | return; | ||
291 | |||
292 | qDebug( "waiting for initialization thread to finish" ); | ||
293 | wait(); | ||
294 | qDebug( "initialization thread finished!" ); | ||
295 | } | ||
296 | |||
286 | void Lib::receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ) | 297 | void Lib::receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ) |
287 | { | 298 | { |
288 | assert( sendType == ThreadUtil::Channel::OneWay ); | 299 | assert( sendType == ThreadUtil::Channel::OneWay ); |
diff --git a/noncore/multimedia/opieplayer2/lib.h b/noncore/multimedia/opieplayer2/lib.h index 9dd7385..6b67f67 100644 --- a/noncore/multimedia/opieplayer2/lib.h +++ b/noncore/multimedia/opieplayer2/lib.h | |||
@@ -177,6 +177,8 @@ namespace XINE { | |||
177 | */ | 177 | */ |
178 | int error() const; | 178 | int error() const; |
179 | 179 | ||
180 | void ensureInitialized(); | ||
181 | |||
180 | signals: | 182 | signals: |
181 | 183 | ||
182 | void stopped(); | 184 | void stopped(); |
diff --git a/noncore/multimedia/opieplayer2/xinecontrol.cpp b/noncore/multimedia/opieplayer2/xinecontrol.cpp index 1aa3daa..7c54499 100644 --- a/noncore/multimedia/opieplayer2/xinecontrol.cpp +++ b/noncore/multimedia/opieplayer2/xinecontrol.cpp | |||
@@ -45,7 +45,6 @@ XineControl::XineControl( XineVideoWidget *xineWidget, | |||
45 | QObject *parent, const char *name ) | 45 | QObject *parent, const char *name ) |
46 | : QObject( parent, name ), mediaPlayerState( _mediaPlayerState ), xineVideoWidget( xineWidget ) | 46 | : QObject( parent, name ), mediaPlayerState( _mediaPlayerState ), xineVideoWidget( xineWidget ) |
47 | { | 47 | { |
48 | |||
49 | libXine = new XINE::Lib( XINE::Lib::InitializeImmediately, xineWidget ); | 48 | libXine = new XINE::Lib( XINE::Lib::InitializeImmediately, xineWidget ); |
50 | 49 | ||
51 | init(); | 50 | init(); |
@@ -56,6 +55,8 @@ XineControl::XineControl( XINE::Lib *xine, XineVideoWidget *xineWidget, | |||
56 | QObject *parent, const char *name ) | 55 | QObject *parent, const char *name ) |
57 | : QObject( parent, name ), libXine( xine ), mediaPlayerState( _mediaPlayerState ), xineVideoWidget( xineWidget ) | 56 | : QObject( parent, name ), libXine( xine ), mediaPlayerState( _mediaPlayerState ), xineVideoWidget( xineWidget ) |
58 | { | 57 | { |
58 | xine->ensureInitialized(); | ||
59 | |||
59 | init(); | 60 | init(); |
60 | } | 61 | } |
61 | 62 | ||