PDA

View Full Version : GStreamer Plugins with Windows … Help!!!


IMBatMan
27th August 2007, 12:50
my name is Sally. I’m a student in Hawaii and am proficient in C++. I’m trying to get gstreamer plugins to work with a project I’m working on in Windows in my spare time and I ran into some problems getting the plugins to compile out of the box.

:eek:

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I’m using gst-plugins-base-0.10.13.
In the win32 folder I am trying to build the vs8 (aka visual studio 2005) plug-in projects.

I fixed some of the “Configuration Properties\C++\General\Additional includes directories” And the “Configuration Properties\Linker\General\Additional include directories” to point to the projects gstreamer requires that I have downloaded, to get rid of most of the build errors.

I am trying to get the libgstplaybin project to work first.
It requires several other projects to build… I’m stuck on getting the libgstinterfaces project to build, which is one of the projects libgstplaybin requires built.

I get the following six errors:

gst-plugins-base-0.10.13\gst-libs\gst\interfaces\colorbalance.c(83) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_INT' : undeclared identifier

gst-plugins-base-0.10.13\gst-libs\gst\interfaces\mixer.c(85) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_BOOLEAN' : undeclared identifier

gst-plugins-base-0.10.13\gst-libs\gst\interfaces\mixer.c(99) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_POINTER' : undeclared identifier

gst-plugins-base-0.10.13\gst-libs\gst\interfaces\mixer.c(106) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_STRING' : undeclared identifier

gst-plugins-base-0.10.13\gst-libs\gst\interfaces\tuner.c(100) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_ULONG' : undeclared identifier

gst-plugins-base-0.10.13\gst-libs\gst\interfaces\tuner.c(107) : error C2065: 'gst_interfaces_marshal_VOID__OBJECT_INT' : undeclared identifier

:confused:

My Suspicions…

One thing these six files have in common is that they all include
"interfaces-marshal.h".

This file is in the plugin base directory I downloaded, in gst-libs\gst\interfaces.
interfaces-marshal.h only consists of one line:
#include "gst/gstconfig.h"

However in the gst-plugins-base-0.10.13.win32dev,
Another filed called “interfaces-marshal.h” includes forward declarations of 'gst_interfaces_marshal_VOID__OBJECT_INT' and the other five functions needed. Sadly this package does not include any “interfaces-marshal.c”, and for some reason linking to the lib provided in this package does not fix the the build errors in the libgstinterfaces project.
Does any one know where I could find an interfaces-marshal.h and interfaces-marshal.c with the needed function definitions? Or could I be missing something else?

:thanks:
xoxo
Sally

Kurtnoise
27th August 2007, 18:28
iirc vc8 projects files for GStreamer haven't been updated to point out the correct headers. Use vc6 files instead...interfaces-marshal.h is probably in the gstreamer package (not in the plugins ones).

and btw, you should post also on gstreamer-devel mailing list.


At last, there are already some win32 pre-compiles available (http://gstreamer.freedesktop.org/pkg/windows/releases/) (binaries and headers/libs for the developpment).

IMBatMan
28th August 2007, 08:53
Thank you for responding,

I do get the same errors on when building the vc6 projects. ( it seems they both refference the same headers and c files )
with the vs6 projects I also get this error:
" 'glib-genmarshal' is not recognized as an internal or external command. "

If i do a windows search for "interfaces-marshal.h", i only find it in the plugin directory i've downloaded and not in the gstreamer directory i downloaded.

I get the same errors for gst-plugins-base-0.10.14 as gst-plugins-base-0.10.13

pre-compiled plugins
I’m sorry I forgot to mention that I have tried the pre-compiled plugins. Getting them to work would be just as good.
what i've tried is gst-plugins-base-0.10.13.win32.zip from here:
http://gstreamer.freedesktop.org/pkg/windows/releases/gst-plugins-base/
In this package there are only dlls.

I reference libgstplaybin.dll in Configuration properties\linker\input\additional dependencies.

Linker Error I get:
gst-plugins-base-0.10.13.win32\lib\gstreamer-0.10\libgstplaybin.dll : fatal error LNK1107: invalid or corrupt file: cannot read at 0x270

Things I’ve Tried:
removing debug and release folders, cleaning solution, and rebuild does not fix this problem.
Redownloading gst-plguins-base package has no effect either.

A program called dependency walker, tells me that libgstplaybin.dll depends on LIBGSTPBUTILS-0.10.DLL (which it cannot find), and
MSJAVA.DLL which it cannot find
But Also LIBGLIB-2.0-0.DLL, LIBGOBJECT-2.0-0.DLL, LIBGSTREAMER-0.10.DLL. ( don’t know if this information is relevant )