From 2195af6700864fb52c7ecf0551dd3163c2167d58 Mon Sep 17 00:00:00 2001 From: Flamefire Date: Tue, 6 May 2014 21:34:48 +0200 Subject: [PATCH] Fix GStreamer Video (IDs+include) --- GstreamerHelper/GstreamerVideo.cpp | 21 +++++++-------------- GstreamerHelper/GstreamerVideoStream.h | 2 +- 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/GstreamerHelper/GstreamerVideo.cpp b/GstreamerHelper/GstreamerVideo.cpp index ab025608..3393e2a5 100644 --- a/GstreamerHelper/GstreamerVideo.cpp +++ b/GstreamerHelper/GstreamerVideo.cpp @@ -3,7 +3,7 @@ #include "GstreamerVideoStream.h" map VideoStreams; -queue VideoIDs; +int NextID; DllExport void SetVideoLogCallback (LogCallback Callback) { @@ -12,15 +12,7 @@ DllExport void SetVideoLogCallback (LogCallback Callback) DllExport bool InitVideo() { - for(int i = 0; i < 1000; i++) - { - VideoIDs.push(i); - } -#if _WIN64 - SetDllDirectory(L".\\x64\\gstreamer"); -#else - SetDllDirectory(L".\\x86\\gstreamer"); -#endif + NextID = 0; gst_init(NULL, NULL); @@ -28,8 +20,10 @@ DllExport bool InitVideo() #if _WIN64 gst_registry_scan_path(registry, ".\\x64\\gstreamer"); -#else +#elif _WIN32 gst_registry_scan_path(registry, ".\\x86\\gstreamer"); +#else + #error Define either _WIN64 or _WIN32! #endif return true; } @@ -45,9 +39,8 @@ DllExport void CloseAllVideos(void) DllExport int LoadVideo(const wchar_t* Media) { - GstreamerVideoStream *s = new GstreamerVideoStream(VideoIDs.front()); - VideoStreams.insert(pair (VideoIDs.front(), s)); - VideoIDs.pop(); + GstreamerVideoStream *s = new GstreamerVideoStream(NextID++); + VideoStreams.insert(pair (s->ID, s)); return s->LoadVideo(Media); } diff --git a/GstreamerHelper/GstreamerVideoStream.h b/GstreamerHelper/GstreamerVideoStream.h index 7d69e019..b258f924 100644 --- a/GstreamerHelper/GstreamerVideoStream.h +++ b/GstreamerHelper/GstreamerVideoStream.h @@ -3,7 +3,7 @@ #include #include "gst/gst.h" #include "GstreamerVideo.h" -#include "gst\app\gstappsink.h" +#include "gst/app/gstappsink.h" #include "VocaluxeClock.h" using namespace std;