Sophie

Sophie

distrib > Mandriva > 10.0-com > i586 > by-pkgid > f0a9f2b9c81d34eadc43f527947c0b70 > files > 162

libgstreamer0.7-devel-0.7.4-2mdk.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML
><HEAD
><TITLE
>Different Types of Dynamic Parameter</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
REL="HOME"
TITLE="GStreamer Application Development Manual"
HREF="index.html"><LINK
REL="UP"
TITLE="Dynamic Parameters"
HREF="chapter-dparams.html"><LINK
REL="PREVIOUS"
TITLE="Changing Dynamic Parameter Values"
HREF="section-dparams-changing.html"><LINK
REL="NEXT"
TITLE="XML in GStreamer"
HREF="part-xml-gstreamer.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
> Application Development Manual</TH
></TR
><TR
><TD
WIDTH="10%"
ALIGN="left"
VALIGN="bottom"
><A
HREF="section-dparams-changing.html"
ACCESSKEY="P"
>Prev</A
></TD
><TD
WIDTH="80%"
ALIGN="center"
VALIGN="bottom"
>Chapter 30. Dynamic Parameters</TD
><TD
WIDTH="10%"
ALIGN="right"
VALIGN="bottom"
><A
HREF="part-xml-gstreamer.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
></TABLE
><HR
ALIGN="LEFT"
WIDTH="100%"></DIV
><DIV
CLASS="sect1"
><H1
CLASS="sect1"
><A
NAME="section-dparams-types"
>30.4. Different Types of Dynamic Parameter</A
></H1
><P
>&#13;      There are currently only two implementations of dparams so far.  They are both for real-time use so 
      should be run in the <TT
CLASS="filename"
>"synchronous"</TT
> mode.
    </P
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="AEN1063"
>30.4.1. GstDParam - the base dparam type</A
></H2
><P
>&#13;        All dparam implementations will subclass from this type.  It provides a basic implementation which simply 
        propagates any value changes as soon as it can.  
        A new instance can be created with the function <TT
CLASS="filename"
>GstDParam* gst_dparam_new (GType type)</TT
>.
        It has the following object properties:
      </P
><P
></P
><UL
><LI
><P
><TT
CLASS="filename"
>"value_float"</TT
>
          - the property to set and get if it is a float dparam
        </P
></LI
><LI
><P
><TT
CLASS="filename"
>"value_int"</TT
>
          - the property to set and get if it is an integer dparam
        </P
></LI
><LI
><P
><TT
CLASS="filename"
>"value_int64"</TT
>
          - the property to set and get if it is a 64 bit integer dparam
        </P
></LI
><LI
><P
><TT
CLASS="filename"
>"is_log"</TT
>
          - readonly boolean which is TRUE if the param should be displayed on a log scale
        </P
></LI
><LI
><P
><TT
CLASS="filename"
>"is_rate"</TT
>
          - readonly boolean which is TRUE if the value is a proportion of the sample rate.  
          For example with a sample rate of 44100, 0.5 would be 22050 Hz and 0.25 would be 11025 Hz.
        </P
></LI
></UL
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="AEN1083"
>30.4.2. GstDParamSmooth - smoothing real-time dparam</A
></H2
><P
>&#13;        Some parameter changes can create audible artifacts if they change too rapidly.  The GstDParamSmooth
        implementation can greatly reduce these artifacts by limiting the rate at which the value can change.
        This is currently only supported for float dparams - the other types fall back to the default implementation.
        A new instance can be created with the function <TT
CLASS="filename"
>GstDParam* gst_dpsmooth_new (GType type)</TT
>.
        It has the following object properties:
      </P
><P
></P
><UL
><LI
><P
><TT
CLASS="filename"
>"update_period"</TT
>
          - an int64 value specifying the number nanoseconds between updates. This will be ignored in 
          <TT
CLASS="filename"
>"synchronous"</TT
> mode since the buffer size dictates the update period.
        </P
></LI
><LI
><P
><TT
CLASS="filename"
>"slope_time"</TT
>
          - an int64 value specifying the time period to use in the maximum slope calculation
        </P
></LI
><LI
><P
><TT
CLASS="filename"
>"slope_delta_float"</TT
>
          - a float specifying the amount a float value can change in the given slope_time.
        </P
></LI
></UL
><P
>&#13;        Audible artifacts may not be completely eliminated by using this dparam. The only way to eliminate
        artifacts such as "zipper noise" would be for the element to implement its required dparams using the 
        array method. This would allow dparams to change parameters at the sample rate which should eliminate
        any artifacts.
      </P
></DIV
><DIV
CLASS="sect2"
><H2
CLASS="sect2"
><A
NAME="AEN1099"
>30.4.3. Timelined dparams</A
></H2
><P
>&#13;        A yet-to-be-implemented subclass of GstDParam will add an API which allows the creation and manipulation
        of points on a timeline.  This subclass will also provide a dparam implementation which uses linear
        interpolation between these points to find the dparam value at any given time.  Further subclasses can 
        extend this functionality to implement more exotic interpolation algorithms such as splines.
      </P
></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-dparams-changing.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-xml-gstreamer.html"
ACCESSKEY="N"
>Next</A
></TD
></TR
><TR
><TD
WIDTH="33%"
ALIGN="left"
VALIGN="top"
>Changing Dynamic Parameter Values</TD
><TD
WIDTH="34%"
ALIGN="center"
VALIGN="top"
><A
HREF="chapter-dparams.html"
ACCESSKEY="U"
>Up</A
></TD
><TD
WIDTH="33%"
ALIGN="right"
VALIGN="top"
>XML in <SPAN
CLASS="application"
>GStreamer</SPAN
></TD
></TR
></TABLE
></DIV
></BODY
></HTML
>