Compiling GStreamer using Visual Studio

We have recently changed the build system and switched to OSSBuild

Fetch the build system

  1. Install Tortoise SVN
  2. Fetch a copy of the build system from the SVN repository (do not use a path with spaces): svn checkout http://ossbuild.googlecode.com/svn/trunk/

Install the external tools

  • The system requirements are listed in $OSSBUILD/ReadMe.txt

Compiling the binaries

Release option

This option builds GStreamer in release mode linking to msvcrt.dll. This CRT is present both in Windows XP and Vista and also used by MinGW/MSYS, which reduces the risks of mixing different CRT's

Debug option

The debug option is not supported anymore. If you need to debug your application use the debug symbols in $OSSBUILD/Build/Windows/Win32/Release/pdb.

Packaging GStreamer

Inno Setup scripts are provided to create GStreamer installers in $OSSBUILD/Packaging/Win32

Deploying GStreamer

Installing the GStreamer WinBuilds package in the target computer

The GStreamer WinBuilds installer installs all the GStreamer binaries (core libraries and plugins) and its dependencies in the path selected at installation time. It adds the $(InstallationPath)\bin\ folder to the system PATH (so any application using GStreamer will be able to find all the related dll's), and sets the GST_PLUGIN_PATH environment variable to $(InstallationPath)\lib\gstreamer-0.10\

Deploying GStreamer alongside with your application

You may want to choose this option if you need to:

  • Avoid mixing dependencies and versions.
  • Use an unique installer to deploy you application.
  • Add/remove plugins.

The steps to follow are:

  1. Copy all the DLL's in bin\ to your application's bin folder.
  2. Copy all the plugins in lib\gstreamer-0.10\ anywhere in the application's root folder (the recomended path is lib/gstreamer-0.10)
  3. Set the GST_PLUGIN_PATH environment variable before calling gst_init() in the main() method of your app or using a batch script before running the app:
    • C# : Environment.SetEnvironmentVariable(“GST_PLUGIN_PATH”,”..\\lib\\gstreamer-0.10”))
    • C/C++: putenv(“GST_PLUGIN_PATH=InstallationPath\\lib\\gstreamer-0.10”)
 
developers.txt · Last modified: 2009/08/06 20:07 by andoni
Recent changes RSS feed Creative Commons License Driven by DokuWiki Made on Mac