aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJean-Baptiste Mardelle <[email protected]>2015-08-03 23:35:51 +0200
committerJean-Baptiste Mardelle <[email protected]>2015-08-03 23:35:51 +0200
commit76cf6ed75bf4437e797ae098a980adf562a30810 (patch)
tree1847ba388b0fddaa779c587ac245e8d58def1735
parent71ba1e2b9817fe92f831eb98b876a0adde35d444 (diff)
Use MLT's "consumer" producer instead of "xml" when adding .mlt files to a project so that we don't corrupt project's framerate
-rw-r--r--src/monitor/monitor.cpp1
-rw-r--r--src/renderer.cpp2
-rw-r--r--src/timeline/track.cpp2
3 files changed, 3 insertions, 2 deletions
diff --git a/src/monitor/monitor.cpp b/src/monitor/monitor.cpp
index 5daab0d..e5cb3a7 100644
--- a/src/monitor/monitor.cpp
+++ b/src/monitor/monitor.cpp
@@ -924,6 +924,7 @@ void Monitor::stop()
void Monitor::mute(bool mute, bool updateIconOnly)
{
if (render) {
+ // TODO: we should set the "audio_off" property to 1 to mute the consumer instead of changing volume
QIcon icon;
if (mute || KdenliveSettings::volume() == 0) icon = QIcon::fromTheme("audio-volume-muted");
else icon = QIcon::fromTheme("audio-volume-medium");
diff --git a/src/renderer.cpp b/src/renderer.cpp
index df9bed0..89ebcc7 100644
--- a/src/renderer.cpp
+++ b/src/renderer.cpp
@@ -545,7 +545,7 @@ void Render::processFileProperties()
path.prepend("kdenlivetitle:");
producer = new Mlt::Producer(*m_qmlView->profile(), 0, path.toUtf8().constData());
} else if (type == Playlist) {
- path.prepend("xml:");
+ path.prepend("consumer:");
producer = new Mlt::Producer(*m_qmlView->profile(), 0, path.toUtf8().constData());
} else if (type == SlideShow) {
producer = new Mlt::Producer(*m_qmlView->profile(), 0, path.toUtf8().constData());
diff --git a/src/timeline/track.cpp b/src/timeline/track.cpp
index 9428d7e..3b44ea2 100644
--- a/src/timeline/track.cpp
+++ b/src/timeline/track.cpp
@@ -494,7 +494,7 @@ bool Track::hasAudio()
if (m_playlist.is_blank(i)) continue;
Mlt::Producer *p = m_playlist.get_clip(i);
QString service = p->get("mlt_service");
- if (service == "xml" || p->get_int("audio_index") > -1) {
+ if (service == "xml" || service == "consumer" || p->get_int("audio_index") > -1) {
delete p;
return true;
}