[gst-devel] Re: Native Win32 build of GStreamer 0.8.1

Thomas Vander Stichele thomas at apestaart.org
Fri May 7 02:24:02 CEST 2004


> I'm a complete Linux newbie but I do have a lot of streaming experience.
> I've been developing applications, components and part of the framework
> of TSSA (Trimedia Software Streaming Architecture) which runs on Philips
> Trimedia/Nexperia processors, mainly under psos.

Welcome :)

> We do anticipate building products using Linux in the near future so 
> I would like to get a deeper understanding of gstreamer.

Good idea.

> I'm currently going through the documentation but I would love to step
> through a dummy application (eg disk_source - disk_sink) to get acquainted
> with the framework.
> Given the posts below, I would expect this to be (almost?) possible.
> I'm working under Windows2000 and using MSVC C++ .Net.
> I would like to use this as a debugger but I have no problems in using 
> eg cygwin to build the application.

If you have no problems using cygwin, it should already be possible to
get GStreamer compiled.

> However, since I have no Linux expertise, I have no clue to how to 
> build such a gstreamer application.  Is somebody willing to help me out?
> I guess I need to 
> 1. retrieve gstreamer from cvs; I guess I need to install eg WinCvs but then
> I'm lost

You don't need CVS, I'd only recommend getting it if you find a problem
with the released source tarballs.

If you decide you do want to use CVS though, see

The module you need, if you want to start with a simple filesrc !
filesink pipeline, is just "gstreamer".

> 2. retrieve all libs on which gstreamer depends 
> 	a. glib from http://ftp.gnome.org/pub/gnome/sources/glib/
> 	b. gobject from ?
gobject is included in glib.  There might be someone providing some sort
of package for cygwin of glib, I haven't checked in a long time.

> 	c. others?
libxml (www.xmlsoft.org) and popt (check

That mailing list archive might be useful to you for other dependencies
as well.

Furthermore, you will need stuff like bison and yacc working, and
disable the documentation build for now.

> 3. cygwin from http://www.cygwin.com/
> 4. what is msys? something similar as cygwin?

I think it's mingw ? I'm not sure.

> 5. I need to build it
> 	a. can I use the command below to build glib and the other libs?

which command ? Basically, with cygwin set up properly, it should be as
simple as running ./configure, make, make install from the release

> I do have some questions already though
> 1. why do you provide so many convenience functions in the interfaces? 
> IMO, it clutters up the interface.

It's a methodology decision.  Both ways work :) After all, we could all
be coding in assembler as well, and still manage to make code.  (Well,
some of us would, and others would give up)

>   I'm always insisting on defining 
> primitive interfaces (unless there is a performance issue) and I'm
> wondering what your rationale is for these convenience functions like
> - gst_element_factory_make
> - gst_element_link_many

> 2. Why is Gnome opposed to using C++

It's not opposed to it.  As a stack of libraries, GNOME prefers C
because it is easier to wrap in other languages, compiles faster than
C++, has less ABI issues between different compilers, and for historical

My personal opinion is that it doesn't provide a big enough step up over
C, I like to skip by two levels of complexity at once.  So you'll see me
programming barebone logic gates, but not assembler, and C, but not C++,
and python, but not something more abstracted.  Others have different
reasons :)


Dave/Dina : future TV today ! - http://www.davedina.org/
<-*- thomas (dot) apestaart (dot) org -*->
I won't leave you
all you have is that spell
cast it will you
<-*- thomas (at) apestaart (dot) org -*->
URGent, best radio on the net - 24/7 ! - http://urgent.fm/

More information about the gstreamer-devel mailing list