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

NeBlackCat (lists) lists at asd-group.com
Thu May 17 04:49:05 CEST 2007


Hi,

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:
    glib -
http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.12/glib-dev-2.12.11.zip
    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:
    <install dir>\Common\GStreamer\0.10.dev\include\
    <install dir>\Common\GStreamer\0.10.dev\include\glib-2.0\
    <install dir>\Common\GStreamer\0.10.dev\lib\glib-2.0\include\

And lib paths:
    <install dir>\Common\GStreamer\0.10.dev\lib\

And libs:
    libgstreamer-0.10.lib
    glib-2.0.lib
    libxml2.lib
    iconv.lib
    gobject-2.0.lib

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 code! :-)

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 players):

- 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.

- John



Sébastien Moutte wrote:
> Hi,
>
> 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 
> http://gstreamer.freedesktop.org/data/pkg/windows/cvs/
> I'll create a Windows dedicated page on GStreamer page ASAP to link on 
> these binaries and to add some help.
>
> Sebastien
>
> 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:      
>> http://internap.dl.sourceforge.net/sourceforge/gimp-win/gtk%2B-2.10.6-1-setup.zip 
>>
>>
>> Installed into default location: <progs>\Common\GTK\2.0\
>>
>> 2)  Installed  GStreamer core binaries v. 0.10 (from CVS on 
>> 2007-03-12) from:
>>      
>> http://perso.orange.es/moutte983/gstreamer/cvs/gstreamer-0.10.cvs12032007.setup.zip 
>>
>>
>> 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:
>>      
>> http://perso.orange.es/moutte983/gstreamer/cvs/gst-plugins-base-0.10.cvs12032007.setup.zip 
>>
>>
>> 4)  Installed  GStreamer good plugin binaries v. 0.10 (from CVS on 
>> 2007-03-12) from:
>>      
>> http://perso.orange.es/moutte983/gstreamer/cvs/gst-plugins-good-0.10.cvs12032007.setup.zip 
>>
>>
>> 5)  Installed  GStreamer bad plugin binaries v. 0.10 (from CVS on 
>> 2007-02-07) from:
>>      
>> http://perso.orange.es/moutte983/gstreamer/cvs/gst-plugins-bad-0.10.cvs20032007.setup.zip 
>>
>>
>> 6) Installed gstplayer from 
>> http://perso.orange.es/moutte983/gstreamer/gstplayer/gstplayer.zip by 
>> copying gstplayer.exe into
>>      <progs>\Common\GStreamer\0.10\bin\
>>
>> 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:
>>      
>> http://perso.orange.es/moutte983/gstreamer/cvs/gst-plugins-ugly-0.10.cvs12032007.setup.zip 
>>
>>
>> 8)  Installed  GStreamer ffmpeg plugin binaries v. 0.10.02 from:
>>      
>> http://perso.orange.es/moutte983/gstreamer/releases/gst-ffmpeg/gst-ffmpeg-0.10.2.win32.zip 
>>
>>      (extracted libgstffmpeg.dll into 
>> <progs>\Common\GStreamer\0.10\lib\gstreamer-0.10\)
>>
>> 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:
>>      
>> http://perso.orange.es/moutte983/gstreamer/cvs/11022007/gstreamer-0.10.cvs.win32dev.zip 
>>
>>      (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:
>>      
>> http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/chapter-helloworld.html 
>>
>>      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:
>>        
>> http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.12/glib-dev-2.12.11.zip 
>>
>>        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 
>> <progs}\Common\GStreamer\0.10.dev\lib\glib-2.0\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 
>> installing:
>>    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
>>>       
>>
>>
>> ------------------------------------------------------------------------- 
>>
>> 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
>>
>>   

-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gspot.txt
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20070517/1b82c3e3/attachment.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gst1.z
Type: application/octet-stream
Size: 41929 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20070517/1b82c3e3/attachment.obj>


More information about the gstreamer-devel mailing list