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 @@ -35,12 +35,13 @@ #include <stdlib.h> #include <qimage.h> #include <qtextstream.h> #include <qpe/resource.h> #include <qfile.h> +#include <qdir.h> #include <qgfx_qws.h> #include <qdirectpainter_qws.h> #include <assert.h> @@ -70,28 +71,33 @@ extern "C" { 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 // and fb for framebuffer m_audioOutput = xine_open_audio_driver( m_xine, "oss", NULL ); @@ -113,12 +119,13 @@ Lib::Lib( XineVideoWidget* widget ) { m_wid->repaint(); } m_queue = xine_event_new_queue (m_stream); xine_event_create_listener_thread (m_queue, xine_event_handler, this); + } Lib::~Lib() { // free( m_config ); xine_close( m_stream ); 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 @@ -178,12 +178,14 @@ namespace XINE { void stopped(); 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; xine_stream_t *m_stream; xine_cfg_entry_t *m_config; |