diff --git a/src/MediaPlayer.cpp b/src/MediaPlayer.cpp index 54c95bc..c8e9133 100644 --- a/src/MediaPlayer.cpp +++ b/src/MediaPlayer.cpp @@ -1164,10 +1164,8 @@ void MediaPlayer::update() if (media_.valid) { if (!media_.log.empty()) Log::Info("'%s' : %s", uri().c_str(), media_.log.c_str()); - if (!media_.isimage) { - timeline_.setEnd( media_.end ); - timeline_.setStep( media_.dt ); - } + if (!media_.isimage) + timeline_.setTiming( TimeInterval(0, media_.end), media_.dt); execute_open(); } else { diff --git a/src/SessionCreator.cpp b/src/SessionCreator.cpp index 95a0f90..73b7259 100644 --- a/src/SessionCreator.cpp +++ b/src/SessionCreator.cpp @@ -854,7 +854,8 @@ void SessionLoader::visit(MediaPlayer &n) TimeInterval interval_(n.timeline()->interval()); if (interval_.is_valid()) tl.setTiming( interval_, n.timeline()->step()); - else { + else + { GstClockTime b = GST_CLOCK_TIME_NONE; GstClockTime e = GST_CLOCK_TIME_NONE; GstClockTime s = GST_CLOCK_TIME_NONE; @@ -862,7 +863,8 @@ void SessionLoader::visit(MediaPlayer &n) timelineelement->QueryUnsigned64Attribute("end", &e); timelineelement->QueryUnsigned64Attribute("step", &s); interval_ = TimeInterval(b,e); - tl.setTiming( interval_, s); + if (interval_.is_valid()) + tl.setTiming( interval_, s); } XMLElement *gapselement = timelineelement->FirstChildElement("Gaps");