clip = static_cast <ClipItem *>(list.at(i));
if (clip->clipProducer() == clipId) {
ItemInfo info = clip->info();
- if (reload && !m_document->renderer()->mltUpdateClip(info, clip->xml(), clip->baseClip()->producer(info.track))) {
+ Mlt::Producer *prod = NULL;
+ if (clip->isAudioOnly()) prod = clip->baseClip()->audioProducer(info.track);
+ else if (clip->isVideoOnly()) prod = clip->baseClip()->videoProducer();
+ else prod = clip->baseClip()->producer(info.track);
+ if (reload && !m_document->renderer()->mltUpdateClip(info, clip->xml(), prod)) {
emit displayMessage(i18n("Cannot update clip (time: %1, track: %2)", info.startPos.frames(m_document->fps()), info.track), ErrorMessage);
}
else clipList.append(clip);
resource = e.attribute("resource");
if (e.hasAttribute("proxy")) {
QString proxyresource = e.attribute("proxy");
- if (!KIO::NetAccess::exists(KUrl(proxyresource), KIO::NetAccess::SourceSide, 0)) {
+ if (!proxyresource.isEmpty() && proxyresource != "-" && !KIO::NetAccess::exists(KUrl(proxyresource), KIO::NetAccess::SourceSide, 0)) {
// Missing clip found
missingProxies.append(e);
}