summaryrefslogtreecommitdiff
authorsimon <simon>2002-12-13 22:40:57 (UTC)
committer simon <simon>2002-12-13 22:40:57 (UTC)
commitd178168d0980e62d6ce1acb92b6b62c07b64ea34 (patch) (side-by-side diff)
tree666c8db2a8351d64d9e3e9d16ca202be6a31a16b
parent24a30625ec822a7c55e4d4175c5fe40ba05c883e (diff)
downloadopie-d178168d0980e62d6ce1acb92b6b62c07b64ea34.zip
opie-d178168d0980e62d6ce1acb92b6b62c07b64ea34.tar.gz
opie-d178168d0980e62d6ce1acb92b6b62c07b64ea34.tar.bz2
- prepare the API for threaded initialization, step one
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/multimedia/opieplayer2/lib.cpp16
-rw-r--r--noncore/multimedia/opieplayer2/lib.h13
-rw-r--r--noncore/multimedia/opieplayer2/xinecontrol.cpp2
3 files changed, 26 insertions, 5 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
@@ -72,3 +72,3 @@ using namespace XINE;
-Lib::Lib( XineVideoWidget* widget )
+Lib::Lib( InitializationMode initMode, XineVideoWidget* widget )
{
@@ -89,4 +89,18 @@ 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
@@ -57,3 +57,3 @@ namespace XINE {
class Frame;
- class Lib : public ThreadUtil::Channel
+ class Lib : public ThreadUtil::Channel, private ThreadUtil::Thread
{
@@ -61,3 +61,6 @@ namespace XINE {
public:
- Lib(XineVideoWidget* = 0);
+ enum InitializationMode { InitializeImmediately, InitializeInThread };
+
+ Lib( InitializationMode initMode, XineVideoWidget* = 0);
+
~Lib();
@@ -68,3 +71,3 @@ namespace XINE {
- void resize ( const QSize &s );
+ void resize ( const QSize &s );
@@ -185,3 +188,7 @@ namespace XINE {
+ virtual void run();
+
private:
+ void initialize();
+
int m_bytes_per_pixel;
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
@@ -48,3 +48,3 @@ XineControl::XineControl( XineVideoWidget *xineWidget,
- libXine = new XINE::Lib( xineWidget );
+ libXine = new XINE::Lib( XINE::Lib::InitializeImmediately, xineWidget );