openframeworks_X64 icon indicating copy to clipboard operation
openframeworks_X64 copied to clipboard

gstreamer error x64

Open mcanet opened this issue 10 years ago • 7 comments

Could you add few lines with explanation how to setup gstreamer? Thanks

mcanet avatar Feb 07 '15 12:02 mcanet

hey,i think this branch still using the old version which is from here http://www.gstreamer.com/ however you can download 1.xx gst from http://gstreamer.freedesktop.org/data/pkg/windows/1.4.5/ install the x64 version gstreamer-1.0-devel-x86_64-1.4.5.msi and gstreamer-1.0-x86_64-1.4.5.msi be sure to install as complete version,check everything. after that copy the necessity files from gstreamer folder(the libs&include files) just replace it into the /libs/GStreamer folder.

add YOURGSTINSTALLPATH\1.0\x64\bin to your system environment path,i.e mine is J:\gstreamer\1.0\x64\bin

then you ready to using it player.setPlayer(ofPtr<ofGstVideoPlayer>(new ofGstVideoPlayer));

let me know if you still find troubles

liquidzym avatar Feb 07 '15 12:02 liquidzym

Thank man! super useful tips. I gonna try and let you know if I found any trouble.

mcanet avatar Feb 07 '15 13:02 mcanet

I installed both and I add in PATH of windows: C:\gstreamer\1.0\x86_64\bin\ . Also add in c++ folders the headers of the library in: openframeworks_X64-VS2013_X64\libs\GStreamer\include\gst (all folders) . But I get assert error when i try to make use in the code instance of new gstreamer like: player.setPlayer(ofPtr<ofGstVideoPlayer>(new ofGstVideoPlayer)). Any idea how to fix this? Error output is this one:

Debug Assertion Failed!

Program: C:\Windows\system32\MSVCP120D.dll File: C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xstring Line: 1168

Expression: invalid null pointer

mcanet avatar Feb 12 '15 09:02 mcanet

can you try with this new branch vs2013_x64_GST1.4.5? (will update later on) and since i'v added those two line in ofVideoPlayer.h so you don't need to using setPlayer method #define OF_VIDEO_PLAYER_GSTREAMER #undef OF_VIDEO_PLAYER_QUICKTIME have to using vpn to access here,in the mean time you can download file from http://pan.baidu.com/s/1hqkX8B6 with password: x113 (non english page,sorry can't find better place)and replaced it in libs also,you may need uncommon those lines in ofGstUtils.cpp #ifdef TARGET_WIN32 string gst_path = g_getenv("GSTREAMER_1_0_ROOT_X86"); putenv(("GST_PLUGIN_PATH_1_0=" + ofFilePath::join(gst_path, "lib\gstreamer-1.0") + ";.").c_str()); #endif

b'coz that's x86 path.

liquidzym avatar Feb 15 '15 08:02 liquidzym

Thanks now compile and video it renders well!

I replace the libs you send and I add '_64' in the path: #ifdef TARGET_WIN32 string gst_path = g_getenv("GSTREAMER_1_0_ROOT_X86_64"); putenv(("GST_PLUGIN_PATH_1_0=" + ofFilePath::join(gst_path, "lib\gstreamer-1.0") + ";.").c_str()); #endif

But I got couple strange Gstreamer warnings:

  • failed to load plugin glut32.dll
  • failed to load plugin Zlib.dll

Both say %1 is not valid Win32 application

.

mcanet avatar Feb 15 '15 14:02 mcanet

ok,but does app running? i'll testing it after holiday.

liquidzym avatar Feb 16 '15 01:02 liquidzym

ok,i found the what's the problem is. don't using the ofAppGlutWindow in main.cpp,leave it as default which is using ofAppGLFWWindow.

and in my case i have to uncommon #ifdef TARGET_WIN32 string gst_path = g_getenv("GSTREAMER_1_0_ROOT_X86"); putenv(("GST_PLUGIN_PATH_1_0=" + ofFilePath::join(gst_path, "lib\gstreamer-1.0") + ";.").c_str()); #endif

and last thing is create new variable called GST_PLUGIN_SYSTEM_PATH_1_0 and copy your gstreamer-1.0 path to it,i.e D:\gstreamer\1.0\x86_64\lib\gstreamer-1.0 in System Variables panel

should be working without any issue.

liquidzym avatar Feb 17 '15 02:02 liquidzym