summaryrefslogtreecommitdiff
path: root/core/multimedia/opieplayer/mediaplayerstate.cpp
Unidiff
Diffstat (limited to 'core/multimedia/opieplayer/mediaplayerstate.cpp') (more/less context) (show whitespace changes)
-rw-r--r--core/multimedia/opieplayer/mediaplayerstate.cpp26
1 files changed, 15 insertions, 11 deletions
diff --git a/core/multimedia/opieplayer/mediaplayerstate.cpp b/core/multimedia/opieplayer/mediaplayerstate.cpp
index 5bfb87e..b700cd1 100644
--- a/core/multimedia/opieplayer/mediaplayerstate.cpp
+++ b/core/multimedia/opieplayer/mediaplayerstate.cpp
@@ -8,40 +8,44 @@
8 ** Foundation and appearing in the file LICENSE.GPL included in the 8 ** Foundation and appearing in the file LICENSE.GPL included in the
9 ** packaging of this file. 9 ** packaging of this file.
10 ** 10 **
11 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 11 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
12 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 12 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
13 ** 13 **
14 ** See http://www.trolltech.com/gpl/ for GPL licensing information. 14 ** See http://www.trolltech.com/gpl/ for GPL licensing information.
15 ** 15 **
16 ** Contact info@trolltech.com if any conditions of this licensing are 16 ** Contact info@trolltech.com if any conditions of this licensing are
17 ** not clear to you. 17 ** not clear to you.
18 ** 18 **
19 **********************************************************************/ 19 **********************************************************************/
20#include <qpe/qpeapplication.h>
21#include <qpe/qlibrary.h>
22#include <qpe/config.h>
23#include <qdir.h>
24#include <qpe/mediaplayerplugininterface.h>
25#include "mediaplayerstate.h"
26
27
28 20
29#ifdef QT_NO_COMPONENT 21#ifdef QT_NO_COMPONENT
30// Plugins which are compiled in when no plugin architecture available 22// Plugins which are compiled in when no plugin architecture available
31#include "libmad/libmadpluginimpl.h" 23#include "libmad/libmadpluginimpl.h"
32#include "libmpeg3/libmpeg3pluginimpl.h" 24#include "libmpeg3/libmpeg3pluginimpl.h"
33#include "wavplugin/wavpluginimpl.h" 25#include "wavplugin/wavpluginimpl.h"
34#endif 26#endif
35 27
28#include "mediaplayerstate.h"
29
30/* OPIE */
31#include <qpe/qpeapplication.h>
32#include <qpe/qlibrary.h>
33#include <qpe/config.h>
34#include <qpe/mediaplayerplugininterface.h>
35#include <opie2/odebug.h>
36
37/* QT */
38#include <qdir.h>
39
36 40
37//#define MediaPlayerDebug(x) qDebug x 41//#define MediaPlayerDebug(x) qDebug x
38#define MediaPlayerDebug(x) 42#define MediaPlayerDebug(x)
39 43
40 44
41MediaPlayerState::MediaPlayerState( QObject *parent, const char *name ) 45MediaPlayerState::MediaPlayerState( QObject *parent, const char *name )
42 : QObject( parent, name ), decoder( NULL ), libmpeg3decoder( NULL ) { 46 : QObject( parent, name ), decoder( NULL ), libmpeg3decoder( NULL ) {
43 Config cfg( "OpiePlayer" ); 47 Config cfg( "OpiePlayer" );
44 readConfig( cfg ); 48 readConfig( cfg );
45 loadPlugins(); 49 loadPlugins();
46} 50}
47 51
@@ -116,46 +120,46 @@ MediaPlayerDecoder *MediaPlayerState::curDecoder() {
116 120
117// ### hack to get true sample count 121// ### hack to get true sample count
118MediaPlayerDecoder *MediaPlayerState::libMpeg3Decoder() { 122MediaPlayerDecoder *MediaPlayerState::libMpeg3Decoder() {
119 return libmpeg3decoder; 123 return libmpeg3decoder;
120} 124}
121 125
122// ### hack to get true sample count 126// ### hack to get true sample count
123// MediaPlayerDecoder *MediaPlayerState::libWavDecoder() { 127// MediaPlayerDecoder *MediaPlayerState::libWavDecoder() {
124// return libwavdecoder; 128// return libwavdecoder;
125// } 129// }
126 130
127void MediaPlayerState::loadPlugins() { 131void MediaPlayerState::loadPlugins() {
128 // qDebug("load plugins"); 132 // odebug << "load plugins" << oendl;
129#ifndef QT_NO_COMPONENT 133#ifndef QT_NO_COMPONENT
130 QValueList<MediaPlayerPlugin>::Iterator mit; 134 QValueList<MediaPlayerPlugin>::Iterator mit;
131 for ( mit = pluginList.begin(); mit != pluginList.end(); ++mit ) { 135 for ( mit = pluginList.begin(); mit != pluginList.end(); ++mit ) {
132 (*mit).iface->release(); 136 (*mit).iface->release();
133 (*mit).library->unload(); 137 (*mit).library->unload();
134 delete (*mit).library; 138 delete (*mit).library;
135 } 139 }
136 pluginList.clear(); 140 pluginList.clear();
137 141
138 QString path = QPEApplication::qpeDir() + "/plugins/codecs"; 142 QString path = QPEApplication::qpeDir() + "/plugins/codecs";
139 QDir dir( path, "lib*.so" ); 143 QDir dir( path, "lib*.so" );
140 QStringList list = dir.entryList(); 144 QStringList list = dir.entryList();
141 QStringList::Iterator it; 145 QStringList::Iterator it;
142 for ( it = list.begin(); it != list.end(); ++it ) { 146 for ( it = list.begin(); it != list.end(); ++it ) {
143 MediaPlayerPluginInterface *iface = 0; 147 MediaPlayerPluginInterface *iface = 0;
144 QLibrary *lib = new QLibrary( path + "/" + *it ); 148 QLibrary *lib = new QLibrary( path + "/" + *it );
145// qDebug( "querying: %s", QString( path + "/" + *it ).latin1() ); 149// odebug << "querying: " << QString( path + "/" + *it ) << "" << oendl;
146 150
147 if ( lib->queryInterface( IID_MediaPlayerPlugin, (QUnknownInterface**)&iface ) == QS_OK ) { 151 if ( lib->queryInterface( IID_MediaPlayerPlugin, (QUnknownInterface**)&iface ) == QS_OK ) {
148 152
149// qDebug( "loading: %s", QString( path + "/" + *it ).latin1() ); 153// odebug << "loading: " << QString( path + "/" + *it ) << "" << oendl;
150 154
151 MediaPlayerPlugin plugin; 155 MediaPlayerPlugin plugin;
152 plugin.library = lib; 156 plugin.library = lib;
153 plugin.iface = iface; 157 plugin.iface = iface;
154 plugin.decoder = plugin.iface->decoder(); 158 plugin.decoder = plugin.iface->decoder();
155 plugin.encoder = plugin.iface->encoder(); 159 plugin.encoder = plugin.iface->encoder();
156 pluginList.append( plugin ); 160 pluginList.append( plugin );
157 161
158 // ### hack to get true sample count 162 // ### hack to get true sample count
159 if ( plugin.decoder->pluginName() == QString("LibMpeg3Plugin") ) 163 if ( plugin.decoder->pluginName() == QString("LibMpeg3Plugin") )
160 libmpeg3decoder = plugin.decoder; 164 libmpeg3decoder = plugin.decoder;
161 165