<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML ><HEAD ><TITLE >Introduction</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK REL="HOME" TITLE="GStreamer Plugin Writer's Guide" HREF="index.html"><LINK REL="PREVIOUS" TITLE="GStreamer Plugin Writer's Guide" HREF="index.html"><LINK REL="NEXT" TITLE="Preface" HREF="chapter-intro-preface.html"></HEAD ><BODY CLASS="part" BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#0000FF" VLINK="#840084" ALINK="#0000FF" ><DIV CLASS="NAVHEADER" ><TABLE SUMMARY="Header navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TH COLSPAN="3" ALIGN="center" ><SPAN CLASS="application" >GStreamer</SPAN > Plugin Writer's Guide</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="index.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="chapter-intro-preface.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="PART" ><A NAME="part-introduction" ></A ><DIV CLASS="TITLEPAGE" ><H1 CLASS="title" >I. Introduction</H1 ><DIV CLASS="PARTINTRO" ><A NAME="AEN43" ></A ><P > <SPAN CLASS="application" >GStreamer</SPAN > is an exremely powerful and versatile framework for creating streaming media applications. Many of the virtues of the <SPAN CLASS="application" >GStreamer</SPAN > framework come from its modularity: <SPAN CLASS="application" >GStreamer</SPAN > can seamlessly incorporate new plugin modules. But because modularity and power often come at a cost of greater complexity (consider, for example, <A HREF="http://www.omg.org/" TARGET="_top" >CORBA</A >), writing new plugins is not always easy. </P ><P > This guide is intended to help you understand the <SPAN CLASS="application" >GStreamer</SPAN > framework (version 0.7.4) so you can develop new plugins to extend the existing functionality. The guide addresses most issues by following the development of an example plugin - an audio filter plugin - written in C. However, the later parts of the guide also present some issues involved in writing other types of plugins, and the end of the guide describes some of the Python bindings for <SPAN CLASS="application" >GStreamer</SPAN >. </P ></DIV ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT >1. <A HREF="chapter-intro-preface.html" >Preface</A ></DT ><DD ><DL ><DT >1.1. <A HREF="chapter-intro-preface.html#section-preface-who" >Who Should Read This Guide?</A ></DT ><DT >1.2. <A HREF="section-preface-reading.html" >Preliminary Reading</A ></DT ><DT >1.3. <A HREF="section-preface-structure.html" >Structure of This Guide</A ></DT ></DL ></DD ><DT >2. <A HREF="chapter-intro-basics.html" >Basic Concepts</A ></DT ><DD ><DL ><DT >2.1. <A HREF="chapter-intro-basics.html#section-basics-elements" >Elements and Plugins</A ></DT ><DT >2.2. <A HREF="section-basics-pads.html" >Pads</A ></DT ><DT >2.3. <A HREF="section-basics-data.html" >Data, Buffers and Events</A ></DT ><DD ><DL ><DT >2.3.1. <A HREF="section-basics-data.html#sect2-buffer-allocation" >Buffer Allocation</A ></DT ></DL ></DD ><DT >2.4. <A HREF="section-basics-types.html" >Mimetypes and Properties</A ></DT ><DD ><DL ><DT >2.4.1. <A HREF="section-basics-types.html#sect2-types-basictypes" >The Basic Types</A ></DT ></DL ></DD ></DL ></DD ></DL ></DIV ></DIV ></DIV ><DIV CLASS="NAVFOOTER" ><HR ALIGN="LEFT" WIDTH="100%"><TABLE SUMMARY="Footer navigation table" WIDTH="100%" BORDER="0" CELLPADDING="0" CELLSPACING="0" ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><A HREF="index.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="index.html" ACCESSKEY="H" >Home</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" ><A HREF="chapter-intro-preface.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" ><SPAN CLASS="application" >GStreamer</SPAN > Plugin Writer's Guide</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Preface</TD ></TR ></TABLE ></DIV ></BODY ></HTML >