X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/670f9935630beb2123a5ca62894ae92a3f0efa4f..129b8b1a215fc1fcc1b9f06daa0aeaf22bbce614:/src/unix/mediactrl.cpp diff --git a/src/unix/mediactrl.cpp b/src/unix/mediactrl.cpp index 8d4cde3400..8a549b75bb 100644 --- a/src/unix/mediactrl.cpp +++ b/src/unix/mediactrl.cpp @@ -31,13 +31,14 @@ #ifndef WX_PRECOMP #include "wx/log.h" // wxLogDebug/wxLogSysError/wxLogTrace #include "wx/app.h" // wxTheApp->argc, wxTheApp->argv + #include "wx/timer.h" // wxTimer #endif #include "wx/thread.h" // wxMutex/wxMutexLocker -#include "wx/timer.h" // wxTimer #ifdef __WXGTK__ -# include "wx/gtk/win_gtk.h" // for /GDK_WINDOW_XWINDOW +# include "wx/gtk/win_gtk.h" +# include // for GDK_WINDOW_XWINDOW #endif //----------------------------------------------------------------------------- @@ -165,7 +166,7 @@ class WXDLLIMPEXP_MEDIA public: wxGStreamerMediaBackend(); - ~wxGStreamerMediaBackend(); + virtual ~wxGStreamerMediaBackend(); virtual bool CreateControl(wxControl* ctrl, wxWindow* parent, wxWindowID id, @@ -912,7 +913,7 @@ bool wxGStreamerMediaBackend::TryVideoSink(GstElement* videosink) // // Called when the media is about to stop //----------------------------------------------------------------------------- -void wxGStreamerMediaEventHandler::OnMediaFinish(wxMediaEvent& event) +void wxGStreamerMediaEventHandler::OnMediaFinish(wxMediaEvent& WXUNUSED(event)) { // (RN - I have no idea why I thought this was good behaviour.... // maybe it made sense for streaming/nonseeking data but @@ -1070,9 +1071,6 @@ bool wxGStreamerMediaBackend::CreateControl(wxControl* ctrl, wxWindow* parent, // so it doesn't draw over the video and cause sporadic // disappearances of the video gtk_widget_set_double_buffered(m_ctrl->m_wxwindow, FALSE); - - // Tell GtkPizza not to clear the background - gtk_pizza_set_clear(GTK_PIZZA(m_ctrl->m_wxwindow), FALSE); #endif // don't erase the background of our control window @@ -1238,6 +1236,9 @@ bool wxGStreamerMediaBackend::DoLoad(const wxString& locstring) return false; } + // free current media resources + gst_element_set_state (m_playbin, GST_STATE_NULL); + // Make sure the passed URI is valid and tell playbin to load it // non-file uris are encoded wxASSERT(gst_uri_protocol_is_valid("file"));