[gst-devel] Problem with gst-python in windows
sebastien at moutte.net
Thu May 17 10:06:03 CEST 2007
About the assertion, I will investigate ...
Concerning the problem with MPEG video, my bad, I think I forgot to undo
some changes in mpegvideoparse rank (I did it for some internal tests).
You can try to remove libgstmpegvideoparse.dll which is not needed by ffmpeg
to play MPEG files.
I'll update mpegvideoparse binary to fix that.
From: gstreamer-devel-bounces at lists.sourceforge.net
[mailto:gstreamer-devel-bounces at lists.sourceforge.net] On Behalf Of
Sent: jeudi 17 mai 2007 04:49
To: gstreamer-devel at lists.sourceforge.net
Cc: Sébastien Moutte
Subject: Re: [gst-devel] Problem with gst-python in windows
That is superb - thank you so much.
Just to point out for other newbies that all you need to install for
building (other than your stuff ) now are the dev packs for:
iconv - http://www.zlatkovic.com/pub/libxml/iconv-1.9.2.win32.zip
libxml - http://www.zlatkovic.com/pub/libxml/libxml2-2.6.27.win32.zip
And in a project's include paths:
And lib paths:
Assuming GTK+ runtime environment is already installed, of course.
With these I can build the official "hello world" command line app for
playing ogg vorbis files (paste code from Gstreamer API manual at ) and it
runs without crashing, as does everything else.
However it still doesn't run properly - it prints the following and exits:
"** (gst1.exe:3680): CRITICAL **: file
E:\devel-cvs\src\gstreamer\gst\gstinfo.c: line 413: assertion `category !=
NULL' failed One element could not be created"
Do you have any idea what is going wrong here, and how to fix it? I have
attached a ZIP of the VS .NET 2003 project.
It would be great to have a couple of "official" sample apps to test the
build process and give newbies something to start working with. The above
test app could be one. I don't know how proprietary your gstplayer applet
is, but that would be another one if you were willing/able to release the
Speaking of gstplayer, with your new release it plays most but not all of
the test media files that I throw at it. MP3, WMA, OGG and FLAC audio files
play fine (with a nice visualisation - is that yours or done by gst?), as
does an XVid AVI movie file. Two don't though (they play fine in media
- a test6.mpg video produces the error:
Error: Internal data flow error.
...\gstbasesrc.c(1811); (function) (): /playbin/source:
streaming task paused, reason error (-5)
- a test7.mpg video plays audio but not video
Any idea what is going wrong or needed? I'd have thought that ffmpeg should
be able to handle these. I've attached codec info from gspot as gspot.txt .
Thanks again, you are to be congratulated for your efforts to help those of
us starting out with gst on Windows.
Sébastien Moutte wrote:
> I'm not sure where your crash is coming from but it seems it started
> when you have installed ffmpeg libraries.
> You should remove DLL from
> http://neuron2.net/dgavcdec/dgavcdec100a3.zip and install gst-ffmpeg
> setup which includes dependencies.
> Next you should be able to play a lot of different formats.
> I updated CVS build and put it online there
> I'll create a Windows dedicated page on GStreamer page ASAP to link on
> these binaries and to add some help.
> NeBlackCat (lists) a écrit :
>> 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) from:
>> 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:
>> 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 installing:
>> 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:
>>> 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,
>>> 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.
>>> gstreamer-devel mailing list
>>> gstreamer-devel at lists.sourceforge.net
>> 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.
>> gstreamer-devel mailing list
>> gstreamer-devel at lists.sourceforge.net
More information about the gstreamer-devel