diff --git a/obs/obs-app.cpp b/obs/obs-app.cpp index 1c6bb64e3..23c3040f8 100644 --- a/obs/obs-app.cpp +++ b/obs/obs-app.cpp @@ -15,6 +15,7 @@ along with this program. If not, see . ******************************************************************************/ +#include #include "obs-app.hpp" #include "window-obs-basic.hpp" #include "obs-wrappers.hpp" @@ -26,9 +27,45 @@ bool OBSApp::OnInit() if (!wxApp::OnInit()) return false; + if (!obs_startup()) + return false; + wxInitAllImageHandlers(); OBSBasic *mainWindow = new OBSBasic(); + + const wxPanel *preview = mainWindow->GetPreviewPanel(); + wxRect rc = mainWindow->GetPreviewPanel()->GetClientRect(); + + struct obs_video_info ovi; + ovi.adapter = 0; + ovi.base_width = rc.width; + ovi.base_height = rc.height; + ovi.fps_num = 30000; + ovi.fps_den = 1001; + ovi.graphics_module = "libobs-opengl"; + ovi.output_format = VIDEO_FORMAT_RGBA; + ovi.output_width = rc.width; + ovi.output_height = rc.height; + +#ifdef __WXCOCOA__ + ovi.window.view = preview->GetHandle(); +#elif _WIN32 + ovi.window.hwnd = preview->GetHandle(); +#endif + + if (!obs_reset_video(&ovi)) + return false; + mainWindow->Show(); return true; } + +int OBSApp::OnExit() +{ + obs_shutdown(); + blog(LOG_INFO, "Number of memory leaks: %u", bnum_allocs()); + + wxApp::OnExit(); + return 0; +} diff --git a/obs/obs-app.hpp b/obs/obs-app.hpp index c1b372e5e..e70904516 100644 --- a/obs/obs-app.hpp +++ b/obs/obs-app.hpp @@ -23,4 +23,5 @@ class OBSApp : public wxApp { public: virtual bool OnInit(); + virtual int OnExit(); }; diff --git a/obs/window-obs-basic.hpp b/obs/window-obs-basic.hpp index d6d10beeb..f96d7214a 100644 --- a/obs/window-obs-basic.hpp +++ b/obs/window-obs-basic.hpp @@ -40,4 +40,6 @@ protected: public: inline OBSBasic() : OBSBasicBase(NULL) {} + + inline const wxPanel *GetPreviewPanel() const {return previewPanel;} }; diff --git a/vs/2010/OBS/OBS.vcxproj b/vs/2010/OBS/OBS.vcxproj index 41010730e..f0eaadb5c 100644 --- a/vs/2010/OBS/OBS.vcxproj +++ b/vs/2010/OBS/OBS.vcxproj @@ -174,6 +174,7 @@ + diff --git a/vs/2010/OBS/OBS.vcxproj.filters b/vs/2010/OBS/OBS.vcxproj.filters index 22e21dfb8..2052c55a2 100644 --- a/vs/2010/OBS/OBS.vcxproj.filters +++ b/vs/2010/OBS/OBS.vcxproj.filters @@ -41,5 +41,8 @@ Header Files + + Header Files + \ No newline at end of file