diff --git a/src/slic3r/GUI/MediaPlayCtrl.cpp b/src/slic3r/GUI/MediaPlayCtrl.cpp index a623e22f83..3f5b4b986b 100644 --- a/src/slic3r/GUI/MediaPlayCtrl.cpp +++ b/src/slic3r/GUI/MediaPlayCtrl.cpp @@ -488,6 +488,13 @@ void MediaPlayCtrl::media_proc() m_cond.wait(lock); } wxString url = m_tasks.front(); + if (m_tasks.size() >= 2 && !url.IsEmpty() && url[0] != '<' && m_tasks[1] == "") { + BOOST_LOG_TRIVIAL(info) << "MediaPlayCtrl: busy skip url" << url; + m_tasks.pop_front(); + m_tasks.pop_front(); + lock.unlock(); + continue; + } lock.unlock(); if (url.IsEmpty()) { break; diff --git a/src/slic3r/GUI/wxMediaCtrl2.cpp b/src/slic3r/GUI/wxMediaCtrl2.cpp index 274626e3b1..ab0a2f3ac1 100644 --- a/src/slic3r/GUI/wxMediaCtrl2.cpp +++ b/src/slic3r/GUI/wxMediaCtrl2.cpp @@ -170,10 +170,9 @@ void wxMediaCtrl2::Play() { wxMediaCtrl::Play(); } void wxMediaCtrl2::Stop() { + wxMediaCtrl::Stop(); #ifdef __WIN32__ wxMediaCtrl::Load(wxURI()); -#else - wxMediaCtrl::Stop(); #endif }