* *
***************************************************************************/
-
#include "renderer.h"
#include "kdenlivesettings.h"
#include "kthumb.h"
m_mltConsumer->set("terminate_on_pause", 0);
m_mltConsumer->set("deinterlace_method", KdenliveSettings::mltdeinterlacer().toUtf8().constData());
m_mltConsumer->set("rescale", KdenliveSettings::mltinterpolation().toUtf8().constData());
- m_mltConsumer->set("buffer", "1");
+ m_mltConsumer->set("buffer", "25");
m_mltConsumer->set("real_time", KdenliveSettings::mltthreads());
}
if (m_mltConsumer && m_mltConsumer->is_valid()) {
m_consumerThreadStartedEvent = m_mltConsumer->listen("consumer-thread-started", this, (mlt_listener) consumer_thread_started);
m_consumerThreadStoppedEvent = m_mltConsumer->listen("consumer-thread-stopped", this, (mlt_listener) consumer_thread_stopped);
}
- m_mltConsumer->set("buffer", "1");
+ m_mltConsumer->set("buffer", "25");
m_showFrameEvent = m_mltConsumer->listen("consumer-frame-show", this, (mlt_listener) consumer_gl_frame_show);
}
} else {
const uint8_t* image = frame->get_image(format, width, height);
const GLuint* texnum = (GLuint *)image;
if (format == mlt_image_glsl_texture) {
- emit showImageSignal(*texnum);
- delete frame;
+ emit showImageSignal(frame, *texnum);
} else {
QImage qimage(width, height, QImage::Format_ARGB32_Premultiplied);
memcpy(qimage.scanLine(0), image, width * height * 4);
Mlt::Filter *filter = new Mlt::Filter(*m_mltProfile, qstrdup(tag.toUtf8().constData()));
if (filter && filter->is_valid()) {
filter->set("kdenlive_id", qstrdup(params.paramValue("id").toUtf8().constData()));
- int x1 = keyFrames.at(0).section(':', 0, 0).toInt();
- double y1 = keyFrames.at(0).section(':', 1, 1).toDouble();
+ int x1 = keyFrames.at(0).section('=', 0, 0).toInt();
+ double y1 = keyFrames.at(0).section('=', 1, 1).toDouble();
for (int j = 0; j < params.count(); j++) {
filter->set(params.at(j).name().toUtf8().constData(), params.at(j).value().toUtf8().constData());
}
Mlt::Filter *filter = new Mlt::Filter(*m_mltProfile, qstrdup(tag.toUtf8().constData()));
if (filter && filter->is_valid()) {
filter->set("kdenlive_id", qstrdup(params.paramValue("id").toUtf8().constData()));
- int x1 = keyFrames.at(i).section(':', 0, 0).toInt() + offset;
- double y1 = keyFrames.at(i).section(':', 1, 1).toDouble();
- int x2 = keyFrames.at(i + 1).section(':', 0, 0).toInt();
- double y2 = keyFrames.at(i + 1).section(':', 1, 1).toDouble();
+ int x1 = keyFrames.at(i).section('=', 0, 0).toInt() + offset;
+ double y1 = keyFrames.at(i).section('=', 1, 1).toDouble();
+ int x2 = keyFrames.at(i + 1).section('=', 0, 0).toInt();
+ double y2 = keyFrames.at(i + 1).section('=', 1, 1).toDouble();
if (x2 == -1) x2 = duration;
for (int j = 0; j < params.count(); j++) {