Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > d620e9f76c810e9fbdaebc304909c8fc > files > 253

lib64gstreamer0.10-devel-0.10.36-7.mga4.x86_64.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>GStreamer Plugin Writer's Guide (0.10.36)</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79;charset=UTF-8"><LINK
REL="NEXT"
TITLE="Introduction"
HREF="part-introduction.html"></HEAD
><BODY
CLASS="book"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="BOOK"
><A
NAME="index"
></A
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="title"
><A
NAME="AEN2"
><SPAN
CLASS="application"
>GStreamer</SPAN
> Plugin Writer's Guide (0.10.36)</A
></H1
><H3
CLASS="author"
><A
NAME="AEN4"
></A
>Richard John Boulton</H3
><H3
CLASS="author"
><A
NAME="AEN11"
></A
>Erik Walthinsen</H3
><H3
CLASS="author"
><A
NAME="AEN17"
></A
>Steve Baker</H3
><H3
CLASS="author"
><A
NAME="AEN23"
></A
>Leif Johnson</H3
><H3
CLASS="author"
><A
NAME="AEN29"
></A
>Ronald S. Bultje</H3
><H3
CLASS="author"
><A
NAME="AEN36"
></A
>Stefan Kost</H3
><H3
CLASS="author"
><A
NAME="AEN42"
></A
>Tim-Philipp Müller</H3
><DIV
CLASS="legalnotice"
><P
></P
><A
NAME="misc-legalnotice"
></A
><P
>&#13;      This material may be distributed only subject to the terms and
      conditions set forth in the Open Publication License, v1.0 or later (the
      latest version is presently available at <A
HREF="http://www.opencontent.org/openpub/"
TARGET="_top"
>http://www.opencontent.org/openpub/</A
>).
    </P
><P
></P
></DIV
><HR></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
>I. <A
HREF="part-introduction.html"
>Introduction</A
></DT
><DD
><DL
><DT
>1. <A
HREF="chapter-intro-preface.html"
>Preface</A
></DT
><DD
><DL
><DT
>1.1. <A
HREF="chapter-intro-preface.html#section-intro-what"
>What is <SPAN
CLASS="application"
>GStreamer</SPAN
>?</A
></DT
><DT
>1.2. <A
HREF="section-preface-who.html"
>Who Should Read This Guide?</A
></DT
><DT
>1.3. <A
HREF="section-preface-reading.html"
>Preliminary Reading</A
></DT
><DT
>1.4. <A
HREF="section-preface-structure.html"
>Structure of This Guide</A
></DT
></DL
></DD
><DT
>2. <A
HREF="chapter-intro-basics.html"
>Foundations</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
><DT
>2.4. <A
HREF="section-basics-types.html"
>Mimetypes and Properties</A
></DT
></DL
></DD
></DL
></DD
><DT
>II. <A
HREF="part-building.html"
>Building a Plugin</A
></DT
><DD
><DL
><DT
>3. <A
HREF="chapter-building-boiler.html"
>Constructing the Boilerplate</A
></DT
><DD
><DL
><DT
>3.1. <A
HREF="chapter-building-boiler.html#section-boiler-source"
>Getting the GStreamer Plugin Templates</A
></DT
><DT
>3.2. <A
HREF="section-boiler-project-stamp.html"
>Using the Project Stamp</A
></DT
><DT
>3.3. <A
HREF="section-boiler-examine.html"
>Examining the Basic Code</A
></DT
><DT
>3.4. <A
HREF="section-boiler-details.html"
>GstElementDetails</A
></DT
><DT
>3.5. <A
HREF="section-boiler-padtemplates.html"
>GstStaticPadTemplate</A
></DT
><DT
>3.6. <A
HREF="section-boiler-constructors.html"
>Constructor Functions</A
></DT
><DT
>3.7. <A
HREF="section-boiler-plugininit.html"
>The plugin_init function</A
></DT
></DL
></DD
><DT
>4. <A
HREF="chapter-building-pads.html"
>Specifying the pads</A
></DT
><DD
><DL
><DT
>4.1. <A
HREF="chapter-building-pads.html#section-pads-linkfn"
>The setcaps-function</A
></DT
></DL
></DD
><DT
>5. <A
HREF="chapter-building-chainfn.html"
>The chain function</A
></DT
><DT
>6. <A
HREF="chapter-statemanage-states.html"
>What are states?</A
></DT
><DD
><DL
><DT
>6.1. <A
HREF="chapter-statemanage-states.html#section-statemanage-filters"
>Managing filter state</A
></DT
></DL
></DD
><DT
>7. <A
HREF="chapter-building-args.html"
>Adding Arguments</A
></DT
><DT
>8. <A
HREF="chapter-building-signals.html"
>Signals</A
></DT
><DT
>9. <A
HREF="chapter-building-testapp.html"
>Building a Test Application</A
></DT
></DL
></DD
><DT
>III. <A
HREF="part-advanced.html"
>Advanced Filter Concepts</A
></DT
><DD
><DL
><DT
>10. <A
HREF="chapter-negotiation.html"
>Caps negotiation</A
></DT
><DD
><DL
><DT
>10.1. <A
HREF="chapter-negotiation.html#section-nego-requirements"
>Caps negotiation use cases</A
></DT
><DT
>10.2. <A
HREF="section-nego-fixedcaps.html"
>Fixed caps</A
></DT
><DT
>10.3. <A
HREF="section-nego-downstream.html"
>Downstream caps negotiation</A
></DT
><DT
>10.4. <A
HREF="section-nego-upstream.html"
>Upstream caps (re)negotiation</A
></DT
><DT
>10.5. <A
HREF="section-nego-getcaps.html"
>Implementing a getcaps function</A
></DT
></DL
></DD
><DT
>11. <A
HREF="chapter-scheduling.html"
>Different scheduling modes</A
></DT
><DD
><DL
><DT
>11.1. <A
HREF="chapter-scheduling.html#section-scheduling-activation"
>The pad activation stage</A
></DT
><DT
>11.2. <A
HREF="section-scheduling-loop.html"
>Pads driving the pipeline</A
></DT
><DT
>11.3. <A
HREF="section-scheduling-randomxs.html"
>Providing random access</A
></DT
></DL
></DD
><DT
>12. <A
HREF="chapter-building-types.html"
>Types and Properties</A
></DT
><DD
><DL
><DT
>12.1. <A
HREF="chapter-building-types.html#section-types-test"
>Building a Simple Format for Testing</A
></DT
><DT
>12.2. <A
HREF="section-types-typefind.html"
>Typefind Functions and Autoplugging</A
></DT
><DT
>12.3. <A
HREF="section-types-definitions.html"
>List of Defined Types</A
></DT
></DL
></DD
><DT
>13. <A
HREF="chapter-advanced-request.html"
>Request and Sometimes pads</A
></DT
><DD
><DL
><DT
>13.1. <A
HREF="chapter-advanced-request.html#section-reqpad-sometimes"
>Sometimes pads</A
></DT
><DT
>13.2. <A
HREF="section-reqpad-request.html"
>Request pads</A
></DT
></DL
></DD
><DT
>14. <A
HREF="chapter-advanced-clock.html"
>Clocking</A
></DT
><DD
><DL
><DT
>14.1. <A
HREF="chapter-advanced-clock.html#section-clock-time-types"
>Types of time</A
></DT
><DT
>14.2. <A
HREF="section-clocks.html"
>Clocks</A
></DT
><DT
>14.3. <A
HREF="section-time-data-flow.html"
>Flow of data between elements and time</A
></DT
><DT
>14.4. <A
HREF="section-clock-obligations-of-each-element.html"
>Obligations of each element.</A
></DT
></DL
></DD
><DT
>15. <A
HREF="chapter-dparams.html"
>Supporting Dynamic Parameters</A
></DT
><DD
><DL
><DT
>15.1. <A
HREF="chapter-dparams.html#section-dparam-start"
>Getting Started</A
></DT
><DT
>15.2. <A
HREF="chapter-dparam-loop.html"
>The Data Processing Loop</A
></DT
></DL
></DD
><DT
>16. <A
HREF="chapter-advanced-interfaces.html"
>Interfaces</A
></DT
><DD
><DL
><DT
>16.1. <A
HREF="chapter-advanced-interfaces.html#section-iface-general"
>How to Implement Interfaces</A
></DT
><DT
>16.2. <A
HREF="section-iface-uri.html"
>URI interface</A
></DT
><DT
>16.3. <A
HREF="section-iface-mixer.html"
>Mixer Interface</A
></DT
><DT
>16.4. <A
HREF="section-iface-tuner.html"
>Tuner Interface</A
></DT
><DT
>16.5. <A
HREF="section-iface-colorbalance.html"
>Color Balance Interface</A
></DT
><DT
>16.6. <A
HREF="section-iface-propprobe.html"
>Property Probe Interface</A
></DT
><DT
>16.7. <A
HREF="section-iface-xoverlay.html"
>X Overlay Interface</A
></DT
><DT
>16.8. <A
HREF="section-iface-navigation.html"
>Navigation Interface</A
></DT
></DL
></DD
><DT
>17. <A
HREF="chapter-advanced-tagging.html"
>Tagging (Metadata and Streaminfo)</A
></DT
><DD
><DL
><DT
>17.1. <A
HREF="chapter-advanced-tagging.html#section-tagging-overview"
>Overview</A
></DT
><DT
>17.2. <A
HREF="section-tagging-read.html"
>Reading Tags from Streams</A
></DT
><DT
>17.3. <A
HREF="section-tagging-write.html"
>Writing Tags to Streams</A
></DT
></DL
></DD
><DT
>18. <A
HREF="chapter-advanced-events.html"
>Events: Seeking, Navigation and More</A
></DT
><DD
><DL
><DT
>18.1. <A
HREF="chapter-advanced-events.html#section-events-downstream"
>Downstream events</A
></DT
><DT
>18.2. <A
HREF="section-events-upstream.html"
>Upstream events</A
></DT
><DT
>18.3. <A
HREF="section-events-definitions.html"
>All Events Together</A
></DT
></DL
></DD
></DL
></DD
><DT
>IV. <A
HREF="part-other.html"
>Creating special element types</A
></DT
><DD
><DL
><DT
>19. <A
HREF="chapter-other-base.html"
>Pre-made base classes</A
></DT
><DD
><DL
><DT
>19.1. <A
HREF="chapter-other-base.html#section-base-sink"
>Writing a sink</A
></DT
><DT
>19.2. <A
HREF="section-base-src.html"
>Writing a source</A
></DT
><DT
>19.3. <A
HREF="section-base-transform.html"
>Writing a transformation element</A
></DT
></DL
></DD
><DT
>20. <A
HREF="chapter-other-oneton.html"
>Writing a Demuxer or Parser</A
></DT
><DT
>21. <A
HREF="chapter-other-ntoone.html"
>Writing a N-to-1 Element or Muxer</A
></DT
><DT
>22. <A
HREF="chapter-other-manager.html"
>Writing a Manager</A
></DT
></DL
></DD
><DT
>V. <A
HREF="part-appendix.html"
>Appendices</A
></DT
><DD
><DL
><DT
>23. <A
HREF="chapter-checklist-element.html"
>Things to check when writing an element</A
></DT
><DD
><DL
><DT
>23.1. <A
HREF="chapter-checklist-element.html#section-checklist-states"
>About states</A
></DT
><DT
>23.2. <A
HREF="section-checklist-debug.html"
>Debugging</A
></DT
><DT
>23.3. <A
HREF="section-checklist-query.html"
>Querying, events and the like</A
></DT
><DT
>23.4. <A
HREF="section-checklist-testing.html"
>Testing your element</A
></DT
></DL
></DD
><DT
>24. <A
HREF="chapter-porting.html"
>Porting 0.8 plug-ins to 0.10</A
></DT
><DD
><DL
><DT
>24.1. <A
HREF="chapter-porting.html#section-porting-objects"
>List of changes</A
></DT
></DL
></DD
><DT
>25. <A
HREF="chapter-licensing-advisory.html"
>GStreamer licensing</A
></DT
><DD
><DL
><DT
>25.1. <A
HREF="chapter-licensing-advisory.html#section-application-licensing"
>How to license the code you write for <SPAN
CLASS="application"
>GStreamer</SPAN
></A
></DT
></DL
></DD
></DL
></DD
></DL
></DIV
><DIV
CLASS="LOT"
><DL
CLASS="LOT"
><DT
><B
>List of Tables</B
></DT
><DT
>2-1. <A
HREF="section-basics-types.html#table-basictypes"
>Table of Example Types</A
></DT
><DT
>12-1. <A
HREF="section-types-definitions.html#table-audio-types"
>Table of Audio Types</A
></DT
><DT
>12-2. <A
HREF="section-types-definitions.html#table-video-types"
>Table of Video Types</A
></DT
><DT
>12-3. <A
HREF="section-types-definitions.html#table-container-types"
>Table of Container Types</A
></DT
><DT
>12-4. <A
HREF="section-types-definitions.html#table-subtitle-types"
>Table of Subtitle Types</A
></DT
><DT
>12-5. <A
HREF="section-types-definitions.html#table-other-types"
>Table of Other Types</A
></DT
></DL
></DIV
><DIV
CLASS="LOT"
><DL
CLASS="LOT"
><DT
><B
>List of Examples</B
></DT
><DT
>3-1. <A
HREF="section-boiler-examine.html#ex-boiler-examine-h"
>Example Plugin Header File</A
></DT
></DL
></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"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
><A
HREF="part-introduction.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
>&nbsp;</TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>Introduction</TD
></TR
></TABLE
></DIV
></BODY
></HTML
>