GStreamer

From Wikipedia, the free encyclopedia

Gstreamer
Image:Gstreamer-logo.png
Latest release: 0.10.12 / 7 March 2007
OS: Cross-platform
Use: Multimedia framework
License: GNU Lesser General Public License
Website: gstreamer.freedesktop.org

GStreamer is a multimedia framework written in the C programming language with the type system based on GObject. GStreamer serves a host of multimedia applications, such as video editors, streaming media broadcasters, and media players. Designed to be cross-platform, it is known to work on Linux (x86, PowerPC and ARM), Solaris (x86 and SPARC), Mac OS X, Microsoft Windows and OS/400. GStreamer is free software, licensed under the GNU Lesser General Public License.

The GNOME desktop environment is the primary user of GStreamer technology, having included GStreamer since GNOME version 2.2 and encourages GNOME and GTK+ applications to use it. Other groups are beginning to use it as well.

GStreamer is also being used in embedded devices like the Maemo environment from Nokia, which is found on the Nokia 770 Internet Tablet and its successor, the Nokia N800.

Contents

The project was founded in 1999 by Erik Walthinsen and had many of its core design ideas taken from a research project at University of Oregon. Wim Taymans joined the project soon thereafter and greatly expanded on many aspects of the system. Many others around the world have contributed to various degrees since then. The GStreamer logo was designed by Brock A. Frazier, working for an embedded Linux company called RidgeRun, which also was the first corporate sponsor of GStreamer in the form of hiring Erik Walthinsen to develop methods for embedding GStreamer in smaller (cell phone-class) devices.

It is a hosted project at freedesktop.org, and therefore aims to improve interoperability and share technology between free desktops.

A bin or pipeline consists of elements/plugins. Elements contain pads such as source and sink. Data flows through the pipeline in a single direction. Pads have capabilities called 'caps'.

The diagram to the right could be an example of playing an MP3 file using GStreamer. The file source reads an MP3 file from the computers hard drive and sends it to the MP3 decoder. The decoder decodes the file data and converts it into PCM samples which are sent to the ALSA sound driver. The ALSA sound driver sends the PCM sound samples to the computer's speakers.

GStreamer uses a plugin architecture which makes most of GStreamer's functionality implemented as shared libraries. GStreamer’s base functionality contains functions for registering and loading plugins and for providing the fundamentals of all classes in the form of base classes. Plugin libraries are dynamically loaded to support a wide spectrum of codecs, container formats and input/output drivers.

Bindings are provided for programming languages like Python, C++, Perl, GNU Guile and Ruby.

GStreamer has been criticized by KDE developers for not offering a stable ABI, which makes it unsuitable as the standard multimedia framework in KDE4 and could prevent its inclusion in the Linux Standard Base. This problem eventually led to the development of Phonon, a simplified multimedia framework for KDE4, which would provide wrappers for other multimedia frameworks, including GStreamer.[1]

  1. ^ Scott Wheeler (2006-11-05). Multimedia Frameworks Yesterday, Today, Tomorrow. KDE Developer Journals. Retrieved on 2007-02-25.

Advanced Search
Included Web Search Engines


Safe Search

close

Top Matching Results

Occasionally Search.com will highlight specialized results that are based on the context of your query. Examples of specialized results include specific links to news, images, or video.

Top Matching Results may highlight information from other Search.com pages, content from the CNET Network of sites, or third party content. The listings are based purely on relevance. Search.com does not receive payment for listings in this section but our partners that provide this data may get paid for listing these products.

Sponsored Links

This section contains paid listings which have been purchased by companies that want to have their sites appear for specific search terms and related content. These listings are administered, sorted and maintained by a third party and are not endorsed by Search.com.

Search Results

Search.com sends your search query to several search engines at one time and integrates the results into one list which has been sorted by relevance using Search.com's proprietary algorithm. You can customize the list of search engines included in your metasearch from the preferences.

The search engines that are used in your metasearch may allow companies to pay to have their Web sites included within the results. To view the Paid Inclusion policy for a specific search engine, please visit their Web site. Search.com does not accept payment or share revenue with any search engine partner for listings in this section.