#include "WebMediaController.hpp" #include namespace Slic3r { namespace GUI { WebMediaController::WebMediaController(wxWebView* webview) : m_webview(webview) { if (!m_webview) return; m_webview->SetBackgroundColour(*wxBLACK); m_webview->SetPage("", ""); } void WebMediaController::Load(wxURI url) { m_url = url.BuildURI().ToStdString(); } void WebMediaController::set_mode(CameraStreamMode mode) { m_stream_mode = mode; } void WebMediaController::Play() { if (!m_webview) return; wxString url = wxString::FromUTF8(m_url); wxString html = ""; m_webview->SetPage(html, url); } else { // Load MJPEG streams as the top-level document. Some embedded WebView // backends buffer a multipart stream when it is used as an resource, // which introduces noticeable live-view latency. m_webview->LoadURL(url); } } void WebMediaController::Stop() { if (m_webview) { m_webview->RunScript("if(typeof stopCameraRefresh==='function') stopCameraRefresh();"); m_webview->Stop(); } m_url.clear(); } }} // namespace Slic3r::GUI