author | simon <simon> | 2002-12-13 22:40:57 (UTC) |
---|---|---|
committer | simon <simon> | 2002-12-13 22:40:57 (UTC) |
commit | d178168d0980e62d6ce1acb92b6b62c07b64ea34 (patch) (side-by-side diff) | |
tree | 666c8db2a8351d64d9e3e9d16ca202be6a31a16b | |
parent | 24a30625ec822a7c55e4d4175c5fe40ba05c883e (diff) | |
download | opie-d178168d0980e62d6ce1acb92b6b62c07b64ea34.zip opie-d178168d0980e62d6ce1acb92b6b62c07b64ea34.tar.gz opie-d178168d0980e62d6ce1acb92b6b62c07b64ea34.tar.bz2 |
- prepare the API for threaded initialization, step one
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.cpp | 16 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.h | 11 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/xinecontrol.cpp | 2 |
3 files changed, 25 insertions, 4 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp index 1e0dc21..6431de7 100644 --- a/noncore/multimedia/opieplayer2/lib.cpp +++ b/noncore/multimedia/opieplayer2/lib.cpp @@ -71,5 +71,5 @@ extern "C" { using namespace XINE; -Lib::Lib( XineVideoWidget* widget ) +Lib::Lib( InitializationMode initMode, XineVideoWidget* widget ) { m_video = false; @@ -88,6 +88,20 @@ Lib::Lib( XineVideoWidget* widget ) } + if ( initMode == InitializeImmediately ) + initialize(); + else + assert( false ); +} + +void Lib::run() +{ + assert( false ); +} + +void Lib::initialize() +{ m_xine = xine_new( ); + QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; xine_config_load( m_xine, QFile::encodeName( configPath ) ); diff --git a/noncore/multimedia/opieplayer2/lib.h b/noncore/multimedia/opieplayer2/lib.h index aba2ec9..6363918 100644 --- a/noncore/multimedia/opieplayer2/lib.h +++ b/noncore/multimedia/opieplayer2/lib.h @@ -56,9 +56,12 @@ namespace XINE { */ class Frame; - class Lib : public ThreadUtil::Channel + class Lib : public ThreadUtil::Channel, private ThreadUtil::Thread { Q_OBJECT public: - Lib(XineVideoWidget* = 0); + enum InitializationMode { InitializeImmediately, InitializeInThread }; + + Lib( InitializationMode initMode, XineVideoWidget* = 0); + ~Lib(); static int majorVersion(); @@ -184,5 +187,9 @@ namespace XINE { virtual void receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ); + virtual void run(); + private: + void initialize(); + int m_bytes_per_pixel; bool m_video:1; diff --git a/noncore/multimedia/opieplayer2/xinecontrol.cpp b/noncore/multimedia/opieplayer2/xinecontrol.cpp index efa9934..1aa3daa 100644 --- a/noncore/multimedia/opieplayer2/xinecontrol.cpp +++ b/noncore/multimedia/opieplayer2/xinecontrol.cpp @@ -47,5 +47,5 @@ XineControl::XineControl( XineVideoWidget *xineWidget, { - libXine = new XINE::Lib( xineWidget ); + libXine = new XINE::Lib( XINE::Lib::InitializeImmediately, xineWidget ); init(); |