<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <HTML ><HEAD ><TITLE >Mimetypes and Properties</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="UP" TITLE="Basic Concepts" HREF="chapter-intro-basics.html"><LINK REL="PREVIOUS" TITLE="Data, Buffers and Events" HREF="section-basics-data.html"><LINK REL="NEXT" TITLE="Building a Filter" HREF="part-building.html"></HEAD ><BODY CLASS="sect1" 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="section-basics-data.html" ACCESSKEY="P" >Prev</A ></TD ><TD WIDTH="80%" ALIGN="center" VALIGN="bottom" >Chapter 2. Basic Concepts</TD ><TD WIDTH="10%" ALIGN="right" VALIGN="bottom" ><A HREF="part-building.html" ACCESSKEY="N" >Next</A ></TD ></TR ></TABLE ><HR ALIGN="LEFT" WIDTH="100%"></DIV ><DIV CLASS="sect1" ><H1 CLASS="sect1" ><A NAME="section-basics-types" >2.4. Mimetypes and Properties</A ></H1 ><P > <SPAN CLASS="application" >GStreamer</SPAN > uses a type system to ensure that the data passed between elements is in a recognized format. The type system is also important for ensuring that the parameters required to fully specify a format match up correctly when linking pads between elements. Each link that is made between elements has a specified type and optionally a set of properties. </P ><DIV CLASS="sect2" ><H2 CLASS="sect2" ><A NAME="sect2-types-basictypes" >2.4.1. The Basic Types</A ></H2 ><P > <SPAN CLASS="application" >GStreamer</SPAN > already supports many basic media types. Following is a table of a few of the the basic types used for buffers in <SPAN CLASS="application" >GStreamer</SPAN >. The table contains the name ("mime type") and a description of the type, the properties associated with the type, and the meaning of each property. A full list of supported types is included in <A HREF="section-types-definitions.html" >List of Defined Types</A >. </P ><DIV CLASS="table" ><A NAME="table-basictypes" ></A ><P ><B >Table 2-1. Table of Basic Types</B ></P ><TABLE BORDER="1" FRAME="border" RULES="all" CLASS="CALSTABLE" ><COL><COL><COL><COL><COL><COL><THEAD ><TR ><TH >Mime Type</TH ><TH >Description</TH ><TH >Property</TH ><TH >Property Type</TH ><TH >Property Values</TH ><TH >Property Description</TH ></TR ></THEAD ><TBODY VALIGN="top" ><TR ><TD ROWSPAN="2" >audio/*</TD ><TD ROWSPAN="2" > <SPAN CLASS="emphasis" ><I CLASS="emphasis" >All audio types</I ></SPAN > </TD ><TD >rate</TD ><TD >integer</TD ><TD >greater than 0</TD ><TD > The sample rate of the data, in samples (per channel) per second. </TD ></TR ><TR ><TD >channels</TD ><TD >integer</TD ><TD >greater than 0</TD ><TD > The number of channels of audio data. </TD ></TR ><TR ><TD ROWSPAN="4" >audio/x-raw-int</TD ><TD ROWSPAN="4" > Unstructured and uncompressed raw integer audio data. </TD ><TD >endianness</TD ><TD >integer</TD ><TD >G_BIG_ENDIAN (1234) or G_LITTLE_ENDIAN (4321)</TD ><TD > The order of bytes in a sample. The value G_LITTLE_ENDIAN (4321) means <SPAN CLASS="QUOTE" >"little-endian"</SPAN > (byte-order is <SPAN CLASS="QUOTE" >"least significant byte first"</SPAN >). The value G_BIG_ENDIAN (1234) means <SPAN CLASS="QUOTE" >"big-endian"</SPAN > (byte order is <SPAN CLASS="QUOTE" >"most significant byte first"</SPAN >). </TD ></TR ><TR ><TD >signed</TD ><TD >boolean</TD ><TD >TRUE or FALSE</TD ><TD > Whether the values of the integer samples are signed or not. Signed samples use one bit to indicate sign (negative or positive) of the value. Unsigned samples are always positive. </TD ></TR ><TR ><TD >width</TD ><TD >integer</TD ><TD >greater than 0</TD ><TD > Number of bits allocated per sample. </TD ></TR ><TR ><TD >depth</TD ><TD >integer</TD ><TD >greater than 0</TD ><TD > The number of bits used per sample. This must be less than or equal to the width: If the depth is less than the width, the low bits are assumed to be the ones used. For example, a width of 32 and a depth of 24 means that each sample is stored in a 32 bit word, but only the low 24 bits are actually used. </TD ></TR ><TR ><TD ROWSPAN="4" >audio/mpeg</TD ><TD ROWSPAN="4" > Audio data compressed using the MPEG audio encoding scheme. </TD ><TD >mpegversion</TD ><TD >integer</TD ><TD >1, 2 or 4</TD ><TD > The MPEG-version used for encoding the data. The value 1 refers to MPEG-1, -2 and -2.5 layer 1, 2 or 3. The values 2 and 4 refer to the MPEG-AAC audio encoding schemes. </TD ></TR ><TR ><TD >framed</TD ><TD >boolean</TD ><TD >0 or 1</TD ><TD > A true value indicates that each buffer contains exactly one frame. A false value indicates that frames and buffers do not necessarily match up. </TD ></TR ><TR ><TD >layer</TD ><TD >integer</TD ><TD >1, 2, or 3</TD ><TD > The compression scheme layer used to compress the data <SPAN CLASS="emphasis" ><I CLASS="emphasis" >(only if mpegversion=1)</I ></SPAN >. </TD ></TR ><TR ><TD >bitrate</TD ><TD >integer</TD ><TD >greater than 0</TD ><TD > The bitrate, in bits per second. For VBR (variable bitrate) MPEG data, this is the average bitrate. </TD ></TR ><TR ><TD >audio/x-vorbis</TD ><TD >Vorbis audio data</TD ><TD > </TD ><TD > </TD ><TD > </TD ><TD > There are currently no specific properties defined for this type. </TD ></TR ></TBODY ></TABLE ></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-basics-data.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="part-building.html" ACCESSKEY="N" >Next</A ></TD ></TR ><TR ><TD WIDTH="33%" ALIGN="left" VALIGN="top" >Data, Buffers and Events</TD ><TD WIDTH="34%" ALIGN="center" VALIGN="top" ><A HREF="chapter-intro-basics.html" ACCESSKEY="U" >Up</A ></TD ><TD WIDTH="33%" ALIGN="right" VALIGN="top" >Building a Filter</TD ></TR ></TABLE ></DIV ></BODY ></HTML >