[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdemultimedia/phonon-xine
From: Matthias Kretz <kretz () kde ! org>
Date: 2007-06-01 15:19:39
Message-ID: 1180711179.465712.31318.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 670462 by mkretz:
make enqueued MediaSources work
M +15 -4 mediaobject.cpp
--- trunk/KDE/kdemultimedia/phonon-xine/mediaobject.cpp #670461:670462
@@ -50,13 +50,14 @@
m_videoPath(0),
m_seeking(0),
m_currentTitle(1),
+ m_transitionTime(0),
m_autoplayTitles(true)
{
m_stream.moveToThread(&m_stream);
m_stream.start();
+ m_stream.useGaplessPlayback(true);
+
qRegisterMetaType<QMultiMap<QString,QString> >("QMultiMap<QString,QString>");
- //qRegisterMetaType<Phonon::State>("Phonon::State");
- //qRegisterMetaType<qint64>("qint64");
connect(&m_stream, SIGNAL(stateChanged(Phonon::State, Phonon::State)),
SLOT(handleStateChange(Phonon::State, Phonon::State)));
connect(&m_stream, SIGNAL(metaDataChanged(const QMultiMap<QString, QString> &)),
@@ -408,12 +409,22 @@
void MediaObject::setTransitionTime(qint32 newTransitionTime)
{
- m_transitionTime = newTransitionTime;
+ if (m_transitionTime != newTransitionTime) {
+ m_transitionTime = newTransitionTime;
+ if (m_transitionTime == 0) {
+ stream().useGaplessPlayback(true);
+ } else if (m_transitionTime > 0) {
+ // TODO: a gap of m_transitionTime milliseconds
+ stream().useGaplessPlayback(true);
+ } else {
+ // TODO: a crossfade of milliseconds milliseconds
+ stream().useGaplessPlayback(true);
+ }
+ }
}
void MediaObject::setNextSource(const MediaSource &source)
{
- abort(); // TODO
if (m_transitionTime < 0) {
kError(610) << "crossfades are not supported with the xine backend" << endl;
} else if (m_transitionTime > 0) {
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic