<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML ><HEAD ><TITLE >Building an Application</TITLE ><META NAME="GENERATOR" CONTENT="Modular DocBook HTML Stylesheet Version 1.79;charset=UTF-8"><LINK REL="HOME" TITLE="GStreamer Application Development Manual (0.10.36)" HREF="index.html"><LINK REL="PREVIOUS" TITLE="Communication" HREF="section-intro-basics-communication.html"><LINK REL="NEXT" TITLE="Initializing GStreamer" HREF="chapter-init.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 > Application Development Manual (0.10.36)</TH ></TR ><TR ><TD WIDTH="10%" ALIGN="left" VALIGN="bottom" ><A HREF="section-intro-basics-communication.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" ></TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="chapter-init.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="PART" ><A NAME="part-building" ></A ><DIV CLASS="TITLEPAGE" ><H1 CLASS="title" >II. Building an Application</H1 ><DIV CLASS="PARTINTRO" ><A NAME="AEN309" ></A ><P > In these chapters, we will discuss the basic concepts of <SPAN CLASS="application" >GStreamer</SPAN > and the most-used objects, such as elements, pads and buffers. We will use a visual representation of these objects so that we can visualize the more complex pipelines you will learn to build later on. You will get a first glance at the <SPAN CLASS="application" >GStreamer</SPAN > API, which should be enough for building elementary applications. Later on in this part, you will also learn to build a basic command-line application. </P ><P > Note that this part will give a look into the low-level API and concepts of <SPAN CLASS="application" >GStreamer</SPAN >. Once you're going to build applications, you might want to use higher-level APIs. Those will be discussed later on in this manual. </P ></DIV ><DIV CLASS="TOC" ><DL ><DT ><B >Table of Contents</B ></DT ><DT >4. <A HREF="chapter-init.html" >Initializing <SPAN CLASS="application" >GStreamer</SPAN ></A ></DT ><DD ><DL ><DT >4.1. <A HREF="chapter-init.html#section-init-c" >Simple initialization</A ></DT ><DT >4.2. <A HREF="x347.html" >The GOption interface</A ></DT ></DL ></DD ><DT >5. <A HREF="chapter-elements.html" >Elements</A ></DT ><DD ><DL ><DT >5.1. <A HREF="chapter-elements.html#section-elements-design" >What are elements?</A ></DT ><DD ><DL ><DT >5.1.1. <A HREF="chapter-elements.html#section-elements-src" >Source elements</A ></DT ><DT >5.1.2. <A HREF="chapter-elements.html#section-elements-filter" >Filters, convertors, demuxers, muxers and codecs</A ></DT ><DT >5.1.3. <A HREF="chapter-elements.html#section-elements-sink" >Sink elements</A ></DT ></DL ></DD ><DT >5.2. <A HREF="section-elements-create.html" >Creating a <CODE CLASS="classname" >GstElement</CODE ></A ></DT ><DT >5.3. <A HREF="section-elements-properties.html" >Using an element as a <CODE CLASS="classname" >GObject</CODE ></A ></DT ><DT >5.4. <A HREF="section-elements-factories.html" >More about element factories</A ></DT ><DD ><DL ><DT >5.4.1. <A HREF="section-elements-factories.html#section-elements-factories-details" >Getting information about an element using a factory</A ></DT ><DT >5.4.2. <A HREF="section-elements-factories.html#section-elements-factories-padtemplates" >Finding out what pads an element can contain</A ></DT ></DL ></DD ><DT >5.5. <A HREF="section-elements-link.html" >Linking elements</A ></DT ><DT >5.6. <A HREF="section-elements-states.html" >Element States</A ></DT ></DL ></DD ><DT >6. <A HREF="chapter-bins.html" >Bins</A ></DT ><DD ><DL ><DT >6.1. <A HREF="chapter-bins.html#section-bins" >What are bins</A ></DT ><DT >6.2. <A HREF="section-bin-create.html" >Creating a bin</A ></DT ><DT >6.3. <A HREF="section-bin-custom.html" >Custom bins</A ></DT ><DT >6.4. <A HREF="section-bin-state-change-handling.html" >Bins manage states of their children</A ></DT ></DL ></DD ><DT >7. <A HREF="chapter-bus.html" >Bus</A ></DT ><DD ><DL ><DT >7.1. <A HREF="chapter-bus.html#section-bus-howto" >How to use a bus</A ></DT ><DT >7.2. <A HREF="section-bus-message-types.html" >Message types</A ></DT ></DL ></DD ><DT >8. <A HREF="chapter-pads.html" >Pads and capabilities</A ></DT ><DD ><DL ><DT >8.1. <A HREF="chapter-pads.html#section-pads" >Pads</A ></DT ><DD ><DL ><DT >8.1.1. <A HREF="chapter-pads.html#section-pads-dynamic" >Dynamic (or sometimes) pads</A ></DT ><DT >8.1.2. <A HREF="chapter-pads.html#section-pads-request" >Request pads</A ></DT ></DL ></DD ><DT >8.2. <A HREF="section-caps.html" >Capabilities of a pad</A ></DT ><DD ><DL ><DT >8.2.1. <A HREF="section-caps.html#section-caps-structure" >Dissecting capabilities</A ></DT ><DT >8.2.2. <A HREF="section-caps.html#section-caps-props" >Properties and values</A ></DT ></DL ></DD ><DT >8.3. <A HREF="section-caps-api.html" >What capabilities are used for</A ></DT ><DD ><DL ><DT >8.3.1. <A HREF="section-caps-api.html#section-caps-metadata" >Using capabilities for metadata</A ></DT ><DT >8.3.2. <A HREF="section-caps-api.html#section-caps-filter" >Creating capabilities for filtering</A ></DT ></DL ></DD ><DT >8.4. <A HREF="section-pads-ghost.html" >Ghost pads</A ></DT ></DL ></DD ><DT >9. <A HREF="chapter-data.html" >Buffers and Events</A ></DT ><DD ><DL ><DT >9.1. <A HREF="chapter-data.html#section-buffers" >Buffers</A ></DT ><DT >9.2. <A HREF="section-events.html" >Events</A ></DT ></DL ></DD ><DT >10. <A HREF="chapter-helloworld.html" >Your first application</A ></DT ><DD ><DL ><DT >10.1. <A HREF="chapter-helloworld.html#section-helloworld" >Hello world</A ></DT ><DT >10.2. <A HREF="section-helloworld-compilerun.html" >Compiling and Running helloworld.c</A ></DT ><DT >10.3. <A HREF="section-hello-world-conclusion.html" >Conclusion</A ></DT ></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="section-intro-basics-communication.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-init.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Communication</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" > </TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Initializing <SPAN CLASS="application" >GStreamer</SPAN ></TD ></TR ></TABLE ></DIV ></BODY ></HTML >