[gst-devel] Problem with gst-python in windows

NeBlackCat (lists) lists at asd-group.com
Wed May 16 15:23:23 CEST 2007

Hi Jodim,

I can't help with your problem, but could you list exactly what you did 
to get to the point of successfully running gstplayer?

I tried to do that and ended up with all sorts of problems. For a while 
I could run gstplayer but couldn't get it to do anything, now any gst 
related thing that I run (including gstplayer) just crashes. Perhaps 
anyone else with experience of gst on Windows can chime in too, it would 
be appreciated.

Here's what I did, starting from scratch (following Sebastien Moutte's 
instructions at the bottom of http://perso.orange.es/moutte983/gstreamer/) :

1) Installed GTK+ runtime environment v. 2.10.6-1 (and The GIMP 2.2.14 
to test it) from:      

Installed into default location: <progs>\Common\GTK\2.0\

2)  Installed  GStreamer core binaries v. 0.10 (from CVS on 2007-03-12) 

Installed into default location: <progs>\Common\GStreamer\0.10\

3)  Installed  GStreamer base plugin binaries v. 0.10 (from CVS on 
2007-03-12) from:

4)  Installed  GStreamer good plugin binaries v. 0.10 (from CVS on 
2007-03-12) from:

5)  Installed  GStreamer bad plugin binaries v. 0.10 (from CVS on 
2007-02-07) from:

6) Installed gstplayer from 
http://perso.orange.es/moutte983/gstreamer/gstplayer/gstplayer.zip by 
copying gstplayer.exe into

At this point I could  run gstplayer and play my test ogg, which it does 
with a nice visualisation. However I couldnt play my test mpeg1, avi 
(xvid), flac or wma (error messages). So I then:

7)  Installed  GStreamer ugly plugin binaries v. 0.10 (from CVS on 
2007-03-12) from:

8)  Installed  GStreamer ffmpeg plugin binaries v. 0.10.02 from:
     (extracted libgstffmpeg.dll into 

Now I could play the test mpeg1 and avi (though only the audio played). 
Flac still gave the error message and wma was just ignored completely. 
But that's ok, this was progress.

Now is where it starts to get nasty. I wanted to compile a simple test 
program from the gst API manual. Sebastien says you can do this by 
downloading his two CVS DEV packages (C headers and link libs), which I did:

9) Installed GStreamer dev package 0.10 (CVS) from:
     (unzipped into new directory <progs>\Common\GStreamer\0.10.dev\)

10) Created a simple VS.NET 2003 C project (console application), with 
one C file, and pasted in the short "hello world" audio player test 
program from the gst API manual at:
     and then:
       a) setting the project's properties to reflect:
             includes: <progs>\Common\GStreamer\0.10.dev\include\
             libs: <progs>\Common\GStreamer\0.10.dev\lib\
             link with: libgstreamer-0.10.lib
             compile options: compile as C (not C++)
             put output files in <progs>\Common\GStreamer\0.10\bin\
       b) deleting the MS-specific #includes in stdafx.h

11) The frst problem was that it wouldnt compile due to lack of glib.h 
(included in gst.h)
      After some googling around I installed:
       into <progs>\Common\GStreamer\0.10.dev\
    and added to my project's properties:
       include dirs:  <progs>\Common\GStreamer\0.10.dev\include\glib-2.0\
       link to:  glib-2.0.lib
12)  Now it wouldn't compile it couldnt find glibconfig.h (included in 
glib's gtypes.h). Oops that seems to be in a lib directory,
   so the project needs to include 

13) Uhoh now libxml/parser.h (really) isn't there. More googling, then 
   http://www.zlatkovic.com/pub/libxml/libxml2-2.6.27.win32.zip and 
adding libxml2.lib to project's links.

14) Whoops, compiler now says libxml2 needs iconv.h, so that means 
   http://www.zlatkovic.com/pub/libxml/iconv-1.9.2.win32.zip and adding 
to iconv.lib to project's links

15) Now we can compile! But there's unresolved symbols in the link
  (_g_signal_connect_data, _g_object_set, _g_type_check_instance_cast)
  after grepping the .libs, give project a link to gobject-2.0.lib

16) Now we can link too!! So I eagerly hop over to the gst bin directory 
and run my test.exe,
  but Windows won't run it (more accurately, something that it 
dynamically loads, as the test
  prog does run and print stuff) as it needs avcodec-51.dll. A lot of 
experimentally renaming files later,
  it turns out to be libgstffmpeg.dll that needs it, but it didnt need 
it when gstplayer.exe ran.

17) Dilemma time - is libgstffmpeg.dll needed to play an ogg file (which 
is what the demo does)?
  Or should I get the DLLs that libgstffmpeg.dll needs from somewhere? I 
decide to firstly
  try without it, as gstplayer.exe didn't seem to need it to play ogg. 
Inexperience with gst, here.

18) Next problem - test program runs but now prints:
"** (test.exe:1548): CRITICAL **: file 
E:\devel-cvs\src\gstreamer\gst\gstinfo.c: line 413: assertion `category 
!= NULL' failed
One element could not be created"

19) Not much help with this on the net, googled one post guessing about 
gst's debugging macros needing to be
  used, but not enough info on what to do. Ok, let's try with 
libgstffmpeg.dll back in. Found the DLLs it needs here:
  http://neuron2.net/dgavcdec/dgavcdec100a3.zip, unzipped them into gst 
bin dir.

20) Well that stopped the test prog printing "One element could not be 
created" but it still prints the critical assertion, and now it crashes 
too. As do gstplayer.exe, gst-inspect-0.10.exe and gst-launch-00.10.exe 
now :-(

At this point I've decided to seek help on here..so HELP!!

As a newbie I'll probably be hung for saying it, but gst looks a great 
cross platform project which really needs to make (excuse the pun) 
Windows an equal citizen, by having a proper package of binaries, dev 
kits (including dependencies) and natively compilable sources and test 
apps, with MS VS Express project files, that you can install and run out 
of the box. I'd like to have a go at that, if someone will help a 
complete GNU novice (gnuvice?) do it and tolerate lots of stupid questions!

- John

jodim wrote:
> Hi,
> 	After installing Christian Schaller's gstreamer cvs binaries including gst-python bindings for win32 and successfully testing gstplayer, tried to run a simple python script using python24 but the gst python module cannot find procedure "gst_segtrap_is_enabled" in gstreamer dll even though gst version is > 0.10.9. Checked exports on all libgstreamer-0.10.dll provided by the different binaries in http://perso.orange.es/moutte983/gstreamer/ but none of them export that function. Do let me know if there's something else I can do to help.
> Many thanks,
> jodim
> -------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

More information about the gstreamer-devel mailing list