author | simon <simon> | 2002-12-10 22:27:04 (UTC) |
---|---|---|
committer | simon <simon> | 2002-12-10 22:27:04 (UTC) |
commit | 0ee7b9eb000d0ca5dfeab074e45488d0bc44314b (patch) (side-by-side diff) | |
tree | b10a90cc3a9eb5566bfa9219634f35954447dd68 | |
parent | 34418795f4bef0466fc92aa9dfd8f25210bc2bc5 (diff) | |
download | opie-0ee7b9eb000d0ca5dfeab074e45488d0bc44314b.zip opie-0ee7b9eb000d0ca5dfeab074e45488d0bc44314b.tar.gz opie-0ee7b9eb000d0ca5dfeab074e45488d0bc44314b.tar.bz2 |
- factor out the expensive xine initialization code into a separate method,
as preparation
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.cpp | 17 | ||||
-rw-r--r-- | noncore/multimedia/opieplayer2/lib.h | 2 |
2 files changed, 14 insertions, 5 deletions
diff --git a/noncore/multimedia/opieplayer2/lib.cpp b/noncore/multimedia/opieplayer2/lib.cpp index 9e818eb..641cbca 100644 --- a/noncore/multimedia/opieplayer2/lib.cpp +++ b/noncore/multimedia/opieplayer2/lib.cpp @@ -37,8 +37,9 @@ #include <qtextstream.h> #include <qpe/resource.h> #include <qfile.h> +#include <qdir.h> #include <qgfx_qws.h> #include <qdirectpainter_qws.h> @@ -72,24 +73,29 @@ using namespace XINE; Lib::Lib( XineVideoWidget* widget ) { m_video = false; m_wid = widget; printf("Lib"); - QCString str( getenv("HOME") ); - str += "/Settings/opiexine.cf"; + QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; // get the configuration // not really OO, should be an extra class, later - if ( !QFile(str).exists() ) { - QFile f(str); + if ( !QFile::exists(configPath) ) { + QFile f(configPath); f.open(IO_WriteOnly); QTextStream ts( &f ); ts << "misc.memcpy_method:glibc\n"; f.close(); } + initialize(); +} + +void Lib::initialize() +{ m_xine = xine_new( ); - xine_config_load( m_xine, str.data() ); + QString configPath = QDir::homeDirPath() + "/Settings/opiexine.cf"; + xine_config_load( m_xine, QFile::encodeName( configPath ) ); xine_init( m_xine ); // allocate oss for sound @@ -115,8 +121,9 @@ Lib::Lib( XineVideoWidget* widget ) { m_queue = xine_event_new_queue (m_stream); xine_event_create_listener_thread (m_queue, xine_event_handler, this); + } Lib::~Lib() { // free( m_config ); diff --git a/noncore/multimedia/opieplayer2/lib.h b/noncore/multimedia/opieplayer2/lib.h index 37a4f9a..d546c99 100644 --- a/noncore/multimedia/opieplayer2/lib.h +++ b/noncore/multimedia/opieplayer2/lib.h @@ -180,8 +180,10 @@ namespace XINE { protected: virtual void receiveMessage( ThreadUtil::ChannelMessage *msg, SendType sendType ); private: + void initialize(); + int m_bytes_per_pixel; bool m_video:1; XineVideoWidget *m_wid; xine_t *m_xine; |