author | simon <simon> | 2002-12-13 23:07:43 (UTC) |
---|---|---|
committer | simon <simon> | 2002-12-13 23:07:43 (UTC) |
commit | 2e922ec81282a735a04ca1e822329c615b979ebf (patch) (side-by-side diff) | |
tree | 742b662eb9d441aec1a12f2d3b531245b934cdb1 /noncore/multimedia/opieplayer2/lib.cpp | |
parent | 2e91febca20a3b550d06ba33a4d41b40555a8bbf (diff) | |
download | opie-2e922ec81282a735a04ca1e822329c615b979ebf.zip opie-2e922ec81282a735a04ca1e822329c615b979ebf.tar.gz opie-2e922ec81282a735a04ca1e822329c615b979ebf.tar.bz2 |
- fill in some code on the threading side. not activated, yet
Diffstat (limited to 'noncore/multimedia/opieplayer2/lib.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.cpp | 13 |
1 files changed, 12 insertions, 1 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 @@ -90,25 +90,26 @@ Lib::Lib( InitializationMode initMode, XineVideoWidget* widget ) } if ( initMode == InitializeImmediately ) { initialize(); m_initialized = true; } else assert( false ); } void Lib::run() { - assert( false ); + initialize(); + m_initialized = true; } void Lib::initialize() { m_duringInitialization = true; m_xine = xine_new( ); QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; xine_config_load( m_xine, QFile::encodeName( configPath ) ); xine_init( m_xine ); @@ -274,24 +275,34 @@ Frame Lib::currentFrame() const { QString Lib::metaInfo( int number) const { assert( m_initialized ); return xine_get_meta_info( m_stream, number ); } int Lib::error() const { assert( m_initialized ); return xine_get_error( m_stream ); }; +void Lib::ensureInitialized() +{ + if ( m_initialized ) + return; + + qDebug( "waiting for initialization thread to finish" ); + wait(); + qDebug( "initialization thread finished!" ); +} + void Lib::receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ) { assert( sendType == ThreadUtil::Channel::OneWay ); handleXineEvent( msg->type() ); delete msg; } void Lib::handleXineEvent( const xine_event_t* t ) { send( new ThreadUtil::ChannelMessage( t->type ), OneWay ); } void Lib::handleXineEvent( int type ) { |