[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/libkonq
From: Matthias Kretz <kretz () kde ! org>
Date: 2006-08-02 22:12:47
Message-ID: 1154556767.982241.25148.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 569091 by mkretz:
- load the Phonon backend only when actual playback is needed
- give the backend the URL when starting the timer so that it can pre-buffer and can be ready on
play()
M +3 -3 konq_iconviewwidget.cc
M +28 -14 konq_sound.cc
M +3 -2 konq_sound.h
--- trunk/KDE/kdebase/libkonq/konq_iconviewwidget.cc #569090:569091
@@ -352,8 +352,7 @@
// ## shouldn't this be disabled during rectangular selection too ?
if (d->bSoundPreviews && d->pSoundPlayer &&
- d->pSoundPlayer->mimeTypes().contains(
- item->item()->mimetype())
+ d->pSoundPlayer->isMimeTypeKnown(item->item()->mimetype())
&& KGlobalSettings::showFilePreview(item->item()->url())
&& window() == kapp->activeWindow())
{
@@ -367,6 +366,7 @@
connect(d->pSoundTimer, SIGNAL(timeout()), SLOT(slotStartSoundPreview()));
}
d->pSoundTimer->start();
+ d->pSoundPlayer->setUrl(d->pSoundItem->item()->url());
}
else
stopSound();
@@ -409,7 +409,7 @@
if (!d->pSoundItem || d->bSoundItemClicked)
return;
- d->pSoundPlayer->play(d->pSoundItem->item()->url().url());
+ d->pSoundPlayer->play();
}
--- trunk/KDE/kdebase/libkonq/konq_sound.cc #569090:569091
@@ -30,47 +30,61 @@
{
public:
KonqSoundPlayerImpl();
- virtual ~KonqSoundPlayerImpl();
+ virtual ~KonqSoundPlayerImpl() {}
- virtual const QStringList &mimeTypes();
- virtual void play(const QString &fileName);
+ virtual bool isMimeTypeKnown(const QString& mimeType);
+ virtual void setUrl(const KUrl &url);
+ virtual void play();
virtual void stop();
virtual bool isPlaying();
private:
- QStringList m_mimetypes;
- Phonon::AudioPlayer m_player;
+ Phonon::AudioPlayer *m_player;
};
KonqSoundPlayerImpl::KonqSoundPlayerImpl()
- : m_player(Phonon::MusicCategory)
+ : m_player(0)
{
}
-KonqSoundPlayerImpl::~KonqSoundPlayerImpl()
+bool KonqSoundPlayerImpl::isMimeTypeKnown(const QString& mimeType)
{
+ kDebug() << k_funcinfo << mimeType << Phonon::BackendCapabilities::isMimeTypeKnown(mimeType) << endl;
+ return Phonon::BackendCapabilities::isMimeTypeKnown(mimeType);
}
-const QStringList &KonqSoundPlayerImpl::mimeTypes()
+void KonqSoundPlayerImpl::setUrl(const KUrl &url)
{
- m_mimetypes = Phonon::BackendCapabilities::self()->knownMimeTypes();
- return m_mimetypes;
+ kDebug() << k_funcinfo << endl;
+ if (!m_player) {
+ kDebug() << "create AudioPlayer" << endl;
+ m_player = new Phonon::AudioPlayer(Phonon::MusicCategory, this);
+ }
+ m_player->load(url);
}
-void KonqSoundPlayerImpl::play(const QString &fileName)
+void KonqSoundPlayerImpl::play()
{
kDebug() << k_funcinfo << endl;
- m_player.play(KUrl(fileName));
+ if (m_player)
+ m_player->play();
}
void KonqSoundPlayerImpl::stop()
{
- m_player.stop();
+ kDebug() << k_funcinfo << endl;
+ if (m_player)
+ m_player->stop();
}
bool KonqSoundPlayerImpl::isPlaying()
{
- return m_player.isPlaying();
+ if (m_player) {
+ kDebug() << k_funcinfo << m_player->isPlaying() << endl;
+ return m_player->isPlaying();
+ }
+ kDebug() << k_funcinfo << false << endl;
+ return false;
}
class KonqSoundFactory : public KLibFactory
--- trunk/KDE/kdebase/libkonq/konq_sound.h #569090:569091
@@ -24,8 +24,9 @@
class KonqSoundPlayer : public QObject
{
public:
- virtual const QStringList &mimeTypes() = 0;
- virtual void play(const QString &fileName) = 0;
+ virtual bool isMimeTypeKnown(const QString& mimeType) = 0;
+ virtual void setUrl(const KUrl &url) = 0;
+ virtual void play() = 0;
virtual void stop() = 0;
virtual bool isPlaying() = 0;
};
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic