GStreamer
open source multimedia framework
Home
Features
News
Planet
Download
Applications
Developers
Documentation
Mailing Lists
File a Bug
Bug Lists
Artwork

Multiplatform

GStreamer has been ported to a wide range of operating systems, processors and compilers. This include but are not limited to Linux on i86,PPC, ARM using GCC. Solaris on x86 and SPARC using both GCC and Forte, MacOSX, Microsoft Windows using MS Visual Developer and IBM OS/400.

GStreamer can bridge to other multimedia frameworks in order to reuse existing components (e.g. codecs) and use platform input/output mechanisms:

  • Linux/Unix: OpenMAX-IL (via gst-openmax)
  • Windows: DirectShow
  • MaxOS X: QuickTime

Comprehensive Core Library

  • Graph-based structure allows arbitrary pipeline construction
  • Based on GLib 2.0 object model for object-oriented design and inheritance
  • Compact core library of less than 500KB, about 65 K lines of code
  • Multi-threaded pipelines are trivial and transparent to construct
  • Clean, simple and stable API for both plugin and application developers
  • Extremely lightweight data passing means very high performance/low latency
  • Complete debugging system for both core and plugin/app developers
  • Clocking to ensure global inter-stream synchronization (a/v sync)
  • Quality of service (qos) to ensure best possible quality under high CPU load

Intelligent Plugin Architecture

  • Dynamically loaded plugins provide elements and media types, demand-loaded via an XML registry, similar to ld.so.cache
  • Element interface handles all known types of sources, filters, sinks
  • Capabilities system allows verification of element compatibility using MIME types and media-specific properties
  • Autoplugging uses capabilities system to complete complex paths automatically
  • Pipelines can be saved to XML and loaded back to working state
  • Resource friendly plugins don't waste RAM

Extensive Development Tools

GStreamer is rapidly approaching a stable API. There is still a number of items on our TODO list.


Report a problem on this page.