[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/runtime/phonon/xine
From: Matthias Kretz <kretz () kde ! org>
Date: 2007-11-23 12:38:51
Message-ID: 1195821531.097051.32469.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 740514 by mkretz:
- add currentSourceChanged signal
- some comments to the complicated fake state handling (and making it a bit safer)
M +7 -6 mediaobject.cpp
M +1 -0 mediaobject.h
--- trunk/KDE/kdebase/runtime/phonon/xine/mediaobject.cpp #740513:740514
@@ -316,16 +316,16 @@
void MediaObject::handleStateChange(Phonon::State newstate, Phonon::State oldstate)
{
- if (m_state == newstate) {
- if (m_fakingBuffering) {
- Q_ASSERT(m_state == BufferingState);
- m_fakingBuffering = false;
- kDebug(610) << blue << "end faking" << normal;
- }
+ if (m_state == newstate && m_state == BufferingState) {
+ m_fakingBuffering = false;
+ kDebug(610) << blue << "end faking" << normal;
// BufferingState -> BufferingState, nothing to do
return;
} else if (m_state != oldstate) {
+ // m_state == oldstate always, except when faking buffering:
Q_ASSERT(m_fakingBuffering);
+
+ // so we're faking BufferingState, then m_state must be in BufferingState
Q_ASSERT(m_state == BufferingState);
if (newstate == PlayingState || newstate == ErrorState) {
m_fakingBuffering = false;
@@ -494,6 +494,7 @@
}
break;
}
+ emit currentSourceChanged(m_mediaSource);
//X if (state() != Phonon::LoadingState) {
//X stop();
//X }
--- trunk/KDE/kdebase/runtime/phonon/xine/mediaobject.h #740513:740514
@@ -112,6 +112,7 @@
void finished();
void prefinishMarkReached(qint32 msec);
void totalTimeChanged(qint64 length);
+ void currentSourceChanged(const MediaSource &);
void stateChanged(Phonon::State newstate, Phonon::State oldstate);
void tick(qint64 time);
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic