tizen 2.0 init
[framework/multimedia/gst-plugins-base0.10.git] / docs / libs / html / gst-plugins-base-libs-gstaudioencoder.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
5 <title>gstaudioencoder</title>
6 <meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
7 <link rel="home" href="index.html" title="GStreamer Base Plugins 0.10 Library Reference Manual">
8 <link rel="up" href="gstreamer-audio.html" title="Audio Library">
9 <link rel="prev" href="gst-plugins-base-libs-gstaudiodecoder.html" title="gstaudiodecoder">
10 <link rel="next" href="gst-plugins-base-libs-gstaudiofilter.html" title="gstaudiofilter">
11 <meta name="generator" content="GTK-Doc V1.18 (XML mode)">
12 <link rel="stylesheet" href="style.css" type="text/css">
13 </head>
14 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
15 <table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
16 <tr valign="middle">
17 <td><a accesskey="p" href="gst-plugins-base-libs-gstaudiodecoder.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
18 <td><a accesskey="u" href="gstreamer-audio.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
19 <td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
20 <th width="100%" align="center">GStreamer Base Plugins 0.10 Library Reference Manual</th>
21 <td><a accesskey="n" href="gst-plugins-base-libs-gstaudiofilter.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
22 </tr>
23 <tr><td colspan="5" class="shortcuts">
24 <a href="#gst-plugins-base-libs-gstaudioencoder.synopsis" class="shortcut">Top</a>
25                    | 
26                   <a href="#gst-plugins-base-libs-gstaudioencoder.description" class="shortcut">Description</a>
27                    | 
28                   <a href="#gst-plugins-base-libs-gstaudioencoder.object-hierarchy" class="shortcut">Object Hierarchy</a>
29                    | 
30                   <a href="#gst-plugins-base-libs-gstaudioencoder.implemented-interfaces" class="shortcut">Implemented Interfaces</a>
31                    | 
32                   <a href="#gst-plugins-base-libs-gstaudioencoder.properties" class="shortcut">Properties</a>
33 </td></tr>
34 </table>
35 <div class="refentry">
36 <a name="gst-plugins-base-libs-gstaudioencoder"></a><div class="titlepage"></div>
37 <div class="refnamediv"><table width="100%"><tr>
38 <td valign="top">
39 <h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudioencoder.top_of_page"></a>gstaudioencoder</span></h2>
40 <p>gstaudioencoder — Base class for audio encoders</p>
41 </td>
42 <td valign="top" align="right"></td>
43 </tr></table></div>
44 <div class="refsynopsisdiv">
45 <a name="gst-plugins-base-libs-gstaudioencoder.synopsis"></a><h2>Synopsis</h2>
46 <a name="GstAudioEncoder"></a><pre class="synopsis">
47 #include &lt;gst/audio/gstaudioencoder.h&gt;
48
49 struct              <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder-struct" title="struct GstAudioEncoder">GstAudioEncoder</a>;
50 struct              <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoderClass" title="struct GstAudioEncoderClass">GstAudioEncoderClass</a>;
51 #define             <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GST-AUDIO-ENCODER-SEGMENT:CAPS" title="GST_AUDIO_ENCODER_SEGMENT()">GST_AUDIO_ENCODER_SEGMENT</a>           (obj)
52 #define             <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GST-AUDIO-ENCODER-SINK-NAME:CAPS" title="GST_AUDIO_ENCODER_SINK_NAME">GST_AUDIO_ENCODER_SINK_NAME</a>
53 #define             <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GST-AUDIO-ENCODER-SINK-PAD:CAPS" title="GST_AUDIO_ENCODER_SINK_PAD()">GST_AUDIO_ENCODER_SINK_PAD</a>          (obj)
54 #define             <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GST-AUDIO-ENCODER-SRC-NAME:CAPS" title="GST_AUDIO_ENCODER_SRC_NAME">GST_AUDIO_ENCODER_SRC_NAME</a>
55 #define             <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GST-AUDIO-ENCODER-SRC-PAD:CAPS" title="GST_AUDIO_ENCODER_SRC_PAD()">GST_AUDIO_ENCODER_SRC_PAD</a>           (obj)
56 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-finish-frame" title="gst_audio_encoder_finish_frame ()">gst_audio_encoder_finish_frame</a>      (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
57                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
58                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> samples</code></em>);
59 <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="returnvalue">GstAudioInfo</span></a> *      <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-audio-info" title="gst_audio_encoder_get_audio_info ()">gst_audio_encoder_get_audio_info</a>    (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);
60 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-drainable" title="gst_audio_encoder_get_drainable ()">gst_audio_encoder_get_drainable</a>     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);
61 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-frame-max" title="gst_audio_encoder_get_frame_max ()">gst_audio_encoder_get_frame_max</a>     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);
62 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-frame-samples-min" title="gst_audio_encoder_get_frame_samples_min ()">gst_audio_encoder_get_frame_samples_min</a>
63                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);
64 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-frame-samples-max" title="gst_audio_encoder_get_frame_samples_max ()">gst_audio_encoder_get_frame_samples_max</a>
65                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);
66 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-hard-min" title="gst_audio_encoder_get_hard_min ()">gst_audio_encoder_get_hard_min</a>      (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);
67 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-hard-resync" title="gst_audio_encoder_get_hard_resync ()">gst_audio_encoder_get_hard_resync</a>   (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);
68 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-latency" title="gst_audio_encoder_get_latency ()">gst_audio_encoder_get_latency</a>       (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
69                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min</code></em>,
70                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max</code></em>);
71 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-lookahead" title="gst_audio_encoder_get_lookahead ()">gst_audio_encoder_get_lookahead</a>     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);
72 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-mark-granule" title="gst_audio_encoder_get_mark_granule ()">gst_audio_encoder_get_mark_granule</a>  (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);
73 <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-perfect-timestamp" title="gst_audio_encoder_get_perfect_timestamp ()">gst_audio_encoder_get_perfect_timestamp</a>
74                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);
75 <span class="returnvalue">gint64</span>              <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-get-tolerance" title="gst_audio_encoder_get_tolerance ()">gst_audio_encoder_get_tolerance</a>     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);
76 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-proxy-getcaps" title="gst_audio_encoder_proxy_getcaps ()">gst_audio_encoder_proxy_getcaps</a>     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
77                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);
78 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-drainable" title="gst_audio_encoder_set_drainable ()">gst_audio_encoder_set_drainable</a>     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
79                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);
80 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-frame-max" title="gst_audio_encoder_set_frame_max ()">gst_audio_encoder_set_frame_max</a>     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
81                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);
82 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-frame-samples-min" title="gst_audio_encoder_set_frame_samples_min ()">gst_audio_encoder_set_frame_samples_min</a>
83                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
84                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);
85 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-frame-samples-max" title="gst_audio_encoder_set_frame_samples_max ()">gst_audio_encoder_set_frame_samples_max</a>
86                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
87                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);
88 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-hard-min" title="gst_audio_encoder_set_hard_min ()">gst_audio_encoder_set_hard_min</a>      (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
89                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);
90 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-hard-resync" title="gst_audio_encoder_set_hard_resync ()">gst_audio_encoder_set_hard_resync</a>   (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
91                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);
92 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-latency" title="gst_audio_encoder_set_latency ()">gst_audio_encoder_set_latency</a>       (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
93                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min</code></em>,
94                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max</code></em>);
95 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-lookahead" title="gst_audio_encoder_set_lookahead ()">gst_audio_encoder_set_lookahead</a>     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
96                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);
97 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-mark-granule" title="gst_audio_encoder_set_mark_granule ()">gst_audio_encoder_set_mark_granule</a>  (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
98                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);
99 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-perfect-timestamp" title="gst_audio_encoder_set_perfect_timestamp ()">gst_audio_encoder_set_perfect_timestamp</a>
100                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
101                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);
102 <span class="returnvalue">void</span>                <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-tolerance" title="gst_audio_encoder_set_tolerance ()">gst_audio_encoder_set_tolerance</a>     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
103                                                          <em class="parameter"><code><span class="type">gint64</span> tolerance</code></em>);
104 </pre>
105 </div>
106 <div class="refsect1">
107 <a name="gst-plugins-base-libs-gstaudioencoder.object-hierarchy"></a><h2>Object Hierarchy</h2>
108 <pre class="synopsis">
109   <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
110    +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstObject.html">GstObject</a>
111          +----<a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html">GstElement</a>
112                +----GstAudioEncoder
113 </pre>
114 </div>
115 <div class="refsect1">
116 <a name="gst-plugins-base-libs-gstaudioencoder.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
117 <p>
118 GstAudioEncoder implements
119  <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPreset.html">GstPreset</a>.</p>
120 </div>
121 <div class="refsect1">
122 <a name="gst-plugins-base-libs-gstaudioencoder.properties"></a><h2>Properties</h2>
123 <pre class="synopsis">
124   "<a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder--hard-resync" title='The "hard-resync" property'>hard-resync</a>"              <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
125   "<a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder--mark-granule" title='The "mark-granule" property'>mark-granule</a>"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read
126   "<a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder--perfect-timestamp" title='The "perfect-timestamp" property'>perfect-timestamp</a>"        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write
127   "<a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder--tolerance" title='The "tolerance" property'>tolerance</a>"                <span class="type">gint64</span>                : Read / Write
128 </pre>
129 </div>
130 <div class="refsect1">
131 <a name="gst-plugins-base-libs-gstaudioencoder.description"></a><h2>Description</h2>
132 <p>
133 This base class is for audio encoders turning raw audio samples into
134 encoded audio data.
135 </p>
136 <p>
137 GstAudioEncoder and subclass should cooperate as follows.
138 </p>
139 <div class="orderedlist"><ol class="orderedlist" type="1">
140 <li class="listitem"><div class="itemizedlist">
141 <p class="title"><b>Configuration</b></p>
142 <ul class="itemizedlist" type="disc">
143 <li class="listitem"><p>
144     Initially, GstAudioEncoder calls <em class="parameter"><code>start</code></em> when the encoder element
145     is activated, which allows subclass to perform any global setup.
146   </p></li>
147 <li class="listitem"><p>
148     GstAudioEncoder calls <em class="parameter"><code>set_format</code></em> to inform subclass of the format
149     of input audio data that it is about to receive.  Subclass should
150     setup for encoding and configure various base class parameters
151     appropriately, notably those directing desired input data handling.
152     While unlikely, it might be called more than once, if changing input
153     parameters require reconfiguration.
154   </p></li>
155 <li class="listitem"><p>
156     GstAudioEncoder calls <em class="parameter"><code>stop</code></em> at end of all processing.
157   </p></li>
158 </ul>
159 </div></li>
160 <li class="listitem"><div class="itemizedlist">
161 <p class="title"><b>Data processing</b></p>
162 <ul class="itemizedlist" type="disc">
163 <li class="listitem"><p>
164       Base class gathers input sample data (as directed by the context's
165       frame_samples and frame_max) and provides this to subclass' <em class="parameter"><code>handle_frame</code></em>.
166     </p></li>
167 <li class="listitem"><p>
168       If codec processing results in encoded data, subclass should call
169       <em class="parameter"><code>gst_audio_encoder_finish_frame</code></em> to have encoded data pushed
170       downstream.  Alternatively, it might also call to indicate dropped
171       (non-encoded) samples.
172     </p></li>
173 <li class="listitem"><p>
174       Just prior to actually pushing a buffer downstream,
175       it is passed to <em class="parameter"><code>pre_push</code></em>.
176     </p></li>
177 <li class="listitem"><p>
178       During the parsing process GstAudioEncoderClass will handle both
179       srcpad and sinkpad events. Sink events will be passed to subclass
180       if <em class="parameter"><code>event</code></em> callback has been provided.
181     </p></li>
182 </ul>
183 </div></li>
184 <li class="listitem"><div class="itemizedlist">
185 <p class="title"><b>Shutdown phase</b></p>
186 <ul class="itemizedlist" type="disc"><li class="listitem"><p>
187     GstAudioEncoder class calls <em class="parameter"><code>stop</code></em> to inform the subclass that data
188     parsing will be stopped.
189   </p></li></ul>
190 </div></li>
191 </ol></div>
192 <p>
193 </p>
194 <p>
195 Subclass is responsible for providing pad template caps for
196 source and sink pads. The pads need to be named "sink" and "src". It also 
197 needs to set the fixed caps on srcpad, when the format is ensured.  This
198 is typically when base class calls subclass' <em class="parameter"><code>set_format</code></em> function, though
199 it might be delayed until calling <em class="parameter"><code>gst_audio_encoder_finish_frame</code></em>.
200 </p>
201 <p>
202 In summary, above process should have subclass concentrating on
203 codec data processing while leaving other matters to base class,
204 such as most notably timestamp handling.  While it may exert more control
205 in this area (see e.g. <em class="parameter"><code>pre_push</code></em>), it is very much not recommended.
206 </p>
207 <p>
208 In particular, base class will either favor tracking upstream timestamps
209 (at the possible expense of jitter) or aim to arrange for a perfect stream of
210 output timestamps, depending on <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder--perfect-timestamp" title='The "perfect-timestamp" property'><span class="type">"perfect-timestamp"</span></a>.
211 However, in the latter case, the input may not be so perfect or ideal, which
212 is handled as follows.  An input timestamp is compared with the expected
213 timestamp as dictated by input sample stream and if the deviation is less
214 than <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder--tolerance" title='The "tolerance" property'><span class="type">"tolerance"</span></a>, the deviation is discarded.
215 Otherwise, it is considered a discontuinity and subsequent output timestamp
216 is resynced to the new position after performing configured discontinuity
217 processing.  In the non-perfect-timestamp case, an upstream variation
218 exceeding tolerance only leads to marking DISCONT on subsequent outgoing
219 (while timestamps are adjusted to upstream regardless of variation).
220 While DISCONT is also marked in the perfect-timestamp case, this one
221 optionally (see <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder--hard-resync" title='The "hard-resync" property'><span class="type">"hard-resync"</span></a>)
222 performs some additional steps, such as clipping of (early) input samples
223 or draining all currently remaining input data, depending on the direction
224 of the discontuinity.
225 </p>
226 <p>
227 If perfect timestamps are arranged, it is also possible to request baseclass
228 (usually set by subclass) to provide additional buffer metadata (in OFFSET
229 and OFFSET_END) fields according to granule defined semantics currently
230 needed by oggmux.  Specifically, OFFSET is set to granulepos (= sample count
231 including buffer) and OFFSET_END to corresponding timestamp (as determined
232 by same sample count and sample rate).
233 </p>
234 <p>
235 Things that subclass need to take care of:
236 </p>
237 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
238 <li class="listitem"><p>Provide pad templates</p></li>
239 <li class="listitem"><p>
240      Set source pad caps when appropriate
241   </p></li>
242 <li class="listitem"><p>
243      Inform base class of buffer processing needs using context's
244      frame_samples and frame_bytes.
245   </p></li>
246 <li class="listitem"><p>
247      Set user-configurable properties to sane defaults for format and
248      implementing codec at hand, e.g. those controlling timestamp behaviour
249      and discontinuity processing.
250   </p></li>
251 <li class="listitem"><p>
252      Accept data in <em class="parameter"><code>handle_frame</code></em> and provide encoded results to
253      <em class="parameter"><code>gst_audio_encoder_finish_frame</code></em>.
254   </p></li>
255 </ul></div>
256 <p>
257 </p>
258 </div>
259 <div class="refsect1">
260 <a name="gst-plugins-base-libs-gstaudioencoder.details"></a><h2>Details</h2>
261 <div class="refsect2">
262 <a name="GstAudioEncoder-struct"></a><h3>struct GstAudioEncoder</h3>
263 <pre class="programlisting">struct GstAudioEncoder;</pre>
264 <p>
265 The opaque <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> data structure.
266 </p>
267 <p class="since">Since 0.10.36</p>
268 </div>
269 <hr>
270 <div class="refsect2">
271 <a name="GstAudioEncoderClass"></a><h3>struct GstAudioEncoderClass</h3>
272 <pre class="programlisting">struct GstAudioEncoderClass {
273   GstElementClass element_class;
274
275   /* virtual methods for subclasses */
276
277   gboolean      (*start)              (GstAudioEncoder *enc);
278
279   gboolean      (*stop)               (GstAudioEncoder *enc);
280
281   gboolean      (*set_format)         (GstAudioEncoder *enc,
282                                        GstAudioInfo        *info);
283
284   GstFlowReturn (*handle_frame)       (GstAudioEncoder *enc,
285                                        GstBuffer *buffer);
286
287   void          (*flush)              (GstAudioEncoder *enc);
288
289   GstFlowReturn (*pre_push)           (GstAudioEncoder *enc,
290                                        GstBuffer **buffer);
291
292   gboolean      (*event)              (GstAudioEncoder *enc,
293                                        GstEvent *event);
294
295   GstCaps *     (*getcaps)            (GstAudioEncoder *enc);
296 };
297 </pre>
298 <p>
299 Subclasses can override any of the available virtual methods or not, as
300 needed. At minimum <em class="parameter"><code>set_format</code></em> and <em class="parameter"><code>handle_frame</code></em> needs to be overridden.
301 </p>
302 <div class="variablelist"><table border="0">
303 <col align="left" valign="top">
304 <tbody>
305 <tr>
306 <td><p><span class="term"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstElement.html#GstElementClass"><span class="type">GstElementClass</span></a> <em class="structfield"><code><a name="GstAudioEncoderClass.element-class"></a>element_class</code></em>;</span></p></td>
307 <td>The parent class structure</td>
308 </tr>
309 <tr>
310 <td><p><span class="term"><em class="structfield"><code><a name="GstAudioEncoderClass.start"></a>start</code></em> ()</span></p></td>
311 <td>Optional.
312 Called when the element starts processing.
313 Allows opening external resources.</td>
314 </tr>
315 <tr>
316 <td><p><span class="term"><em class="structfield"><code><a name="GstAudioEncoderClass.stop"></a>stop</code></em> ()</span></p></td>
317 <td>Optional.
318 Called when the element stops processing.
319 Allows closing external resources.</td>
320 </tr>
321 <tr>
322 <td><p><span class="term"><em class="structfield"><code><a name="GstAudioEncoderClass.set-format"></a>set_format</code></em> ()</span></p></td>
323 <td>Notifies subclass of incoming data format.
324 GstAudioInfo contains the format according to provided caps.</td>
325 </tr>
326 <tr>
327 <td><p><span class="term"><em class="structfield"><code><a name="GstAudioEncoderClass.handle-frame"></a>handle_frame</code></em> ()</span></p></td>
328 <td>Provides input samples (or NULL to clear any remaining data)
329 according to directions as configured by the subclass
330 using the API.  Input data ref management is performed
331 by base class, subclass should not care or intervene,
332 and input data is only valid until next call to base class,
333 most notably a call to <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-finish-frame" title="gst_audio_encoder_finish_frame ()"><code class="function">gst_audio_encoder_finish_frame()</code></a>.</td>
334 </tr>
335 <tr>
336 <td><p><span class="term"><em class="structfield"><code><a name="GstAudioEncoderClass.flush"></a>flush</code></em> ()</span></p></td>
337 <td>Optional.
338 Instructs subclass to clear any codec caches and discard
339 any pending samples and not yet returned encoded data.</td>
340 </tr>
341 <tr>
342 <td><p><span class="term"><em class="structfield"><code><a name="GstAudioEncoderClass.pre-push"></a>pre_push</code></em> ()</span></p></td>
343 <td>Optional.
344 Called just prior to pushing (encoded data) buffer downstream.
345 Subclass has full discretionary access to buffer,
346 and a not OK flow return will abort downstream pushing.</td>
347 </tr>
348 <tr>
349 <td><p><span class="term"><em class="structfield"><code><a name="GstAudioEncoderClass.event"></a>event</code></em> ()</span></p></td>
350 <td>Optional.
351 Event handler on the sink pad. This function should return
352 TRUE if the event was handled and should be discarded
353 (i.e. not unref'ed).</td>
354 </tr>
355 <tr>
356 <td><p><span class="term"><em class="structfield"><code><a name="GstAudioEncoderClass.getcaps"></a>getcaps</code></em> ()</span></p></td>
357 <td>Optional.
358 Allows for a custom sink getcaps implementation (e.g.
359 for multichannel input specification).  If not implemented,
360 default returns gst_audio_encoder_proxy_getcaps
361 applied to sink template caps.</td>
362 </tr>
363 </tbody>
364 </table></div>
365 <p class="since">Since 0.10.36</p>
366 </div>
367 <hr>
368 <div class="refsect2">
369 <a name="GST-AUDIO-ENCODER-SEGMENT:CAPS"></a><h3>GST_AUDIO_ENCODER_SEGMENT()</h3>
370 <pre class="programlisting">#define GST_AUDIO_ENCODER_SEGMENT(obj)     (GST_AUDIO_ENCODER_CAST (obj)-&gt;segment)
371 </pre>
372 <p>
373 Gives the segment of the element.
374 </p>
375 <div class="variablelist"><table border="0">
376 <col align="left" valign="top">
377 <tbody><tr>
378 <td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
379 <td>base parse instance</td>
380 </tr></tbody>
381 </table></div>
382 <p class="since">Since 0.10.36</p>
383 </div>
384 <hr>
385 <div class="refsect2">
386 <a name="GST-AUDIO-ENCODER-SINK-NAME:CAPS"></a><h3>GST_AUDIO_ENCODER_SINK_NAME</h3>
387 <pre class="programlisting">#define GST_AUDIO_ENCODER_SINK_NAME "sink"
388 </pre>
389 <p>
390 the name of the templates for the sink pad
391 </p>
392 <p class="since">Since 0.10.36</p>
393 </div>
394 <hr>
395 <div class="refsect2">
396 <a name="GST-AUDIO-ENCODER-SINK-PAD:CAPS"></a><h3>GST_AUDIO_ENCODER_SINK_PAD()</h3>
397 <pre class="programlisting">#define GST_AUDIO_ENCODER_SINK_PAD(obj) (GST_AUDIO_ENCODER_CAST (obj)-&gt;sinkpad)
398 </pre>
399 <p>
400 Gives the pointer to the sink <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
401 </p>
402 <div class="variablelist"><table border="0">
403 <col align="left" valign="top">
404 <tbody><tr>
405 <td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
406 <td>base parse instance</td>
407 </tr></tbody>
408 </table></div>
409 <p class="since">Since 0.10.36</p>
410 </div>
411 <hr>
412 <div class="refsect2">
413 <a name="GST-AUDIO-ENCODER-SRC-NAME:CAPS"></a><h3>GST_AUDIO_ENCODER_SRC_NAME</h3>
414 <pre class="programlisting">#define GST_AUDIO_ENCODER_SRC_NAME          "src"
415 </pre>
416 <p>
417 the name of the templates for the source pad
418 </p>
419 <p class="since">Since 0.10.36</p>
420 </div>
421 <hr>
422 <div class="refsect2">
423 <a name="GST-AUDIO-ENCODER-SRC-PAD:CAPS"></a><h3>GST_AUDIO_ENCODER_SRC_PAD()</h3>
424 <pre class="programlisting">#define GST_AUDIO_ENCODER_SRC_PAD(obj) (GST_AUDIO_ENCODER_CAST (obj)-&gt;srcpad)
425 </pre>
426 <p>
427 Gives the pointer to the source <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html"><span class="type">GstPad</span></a> object of the element.
428 </p>
429 <div class="variablelist"><table border="0">
430 <col align="left" valign="top">
431 <tbody><tr>
432 <td><p><span class="term"><em class="parameter"><code>obj</code></em> :</span></p></td>
433 <td>base parse instance</td>
434 </tr></tbody>
435 </table></div>
436 <p class="since">Since 0.10.36</p>
437 </div>
438 <hr>
439 <div class="refsect2">
440 <a name="gst-audio-encoder-finish-frame"></a><h3>gst_audio_encoder_finish_frame ()</h3>
441 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="returnvalue">GstFlowReturn</span></a>       gst_audio_encoder_finish_frame      (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
442                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstBuffer.html#GstBuffer"><span class="type">GstBuffer</span></a> *buffer</code></em>,
443                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> samples</code></em>);</pre>
444 <p>
445 Collects encoded data and pushes encoded data downstream.
446 Source pad caps must be set when this is called.
447 </p>
448 <p>
449 If <em class="parameter"><code>samples</code></em> &lt; 0, then best estimate is all samples provided to encoder
450 (subclass) so far.  <em class="parameter"><code>buf</code></em> may be NULL, in which case next number of <em class="parameter"><code>samples</code></em>
451 are considered discarded, e.g. as a result of discontinuous transmission,
452 and a discontinuity is marked.
453 </p>
454 <p>
455 Note that samples received in <code class="function">gst_audio_encoder_handle_frame()</code>
456 may be invalidated by a call to this function.
457 </p>
458 <div class="variablelist"><table border="0">
459 <col align="left" valign="top">
460 <tbody>
461 <tr>
462 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
463 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
464 </td>
465 </tr>
466 <tr>
467 <td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
468 <td>encoded data</td>
469 </tr>
470 <tr>
471 <td><p><span class="term"><em class="parameter"><code>samples</code></em> :</span></p></td>
472 <td>number of samples (per channel) represented by encoded data</td>
473 </tr>
474 <tr>
475 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
476 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstPad.html#GstFlowReturn"><span class="type">GstFlowReturn</span></a> that should be escalated to caller (of caller)</td>
477 </tr>
478 </tbody>
479 </table></div>
480 <p class="since">Since 0.10.36</p>
481 </div>
482 <hr>
483 <div class="refsect2">
484 <a name="gst-audio-encoder-get-audio-info"></a><h3>gst_audio_encoder_get_audio_info ()</h3>
485 <pre class="programlisting"><a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="returnvalue">GstAudioInfo</span></a> *      gst_audio_encoder_get_audio_info    (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
486 <div class="variablelist"><table border="0">
487 <col align="left" valign="top">
488 <tbody>
489 <tr>
490 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
491 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
492 </td>
493 </tr>
494 <tr>
495 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
496 <td>a <a class="link" href="gst-plugins-base-libs-gstaudio.html#GstAudioInfo" title="struct GstAudioInfo"><span class="type">GstAudioInfo</span></a> describing the input audio format</td>
497 </tr>
498 </tbody>
499 </table></div>
500 <p class="since">Since 0.10.36</p>
501 </div>
502 <hr>
503 <div class="refsect2">
504 <a name="gst-audio-encoder-get-drainable"></a><h3>gst_audio_encoder_get_drainable ()</h3>
505 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_audio_encoder_get_drainable     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
506 <p>
507 Queries encoder drain handling.
508 </p>
509 <div class="variablelist"><table border="0">
510 <col align="left" valign="top">
511 <tbody>
512 <tr>
513 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
514 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
515 </td>
516 </tr>
517 <tr>
518 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
519 <td>TRUE if drainable handling is enabled.
520 MT safe.</td>
521 </tr>
522 </tbody>
523 </table></div>
524 <p class="since">Since 0.10.36</p>
525 </div>
526 <hr>
527 <div class="refsect2">
528 <a name="gst-audio-encoder-get-frame-max"></a><h3>gst_audio_encoder_get_frame_max ()</h3>
529 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                gst_audio_encoder_get_frame_max     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
530 <div class="variablelist"><table border="0">
531 <col align="left" valign="top">
532 <tbody>
533 <tr>
534 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
535 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
536 </td>
537 </tr>
538 <tr>
539 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
540 <td>currently configured maximum handled frames</td>
541 </tr>
542 </tbody>
543 </table></div>
544 <p class="since">Since 0.10.36</p>
545 </div>
546 <hr>
547 <div class="refsect2">
548 <a name="gst-audio-encoder-get-frame-samples-min"></a><h3>gst_audio_encoder_get_frame_samples_min ()</h3>
549 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                gst_audio_encoder_get_frame_samples_min
550                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
551 <div class="variablelist"><table border="0">
552 <col align="left" valign="top">
553 <tbody>
554 <tr>
555 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
556 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
557 </td>
558 </tr>
559 <tr>
560 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
561 <td>currently maximum requested samples per frame</td>
562 </tr>
563 </tbody>
564 </table></div>
565 <p class="since">Since 0.10.36</p>
566 </div>
567 <hr>
568 <div class="refsect2">
569 <a name="gst-audio-encoder-get-frame-samples-max"></a><h3>gst_audio_encoder_get_frame_samples_max ()</h3>
570 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                gst_audio_encoder_get_frame_samples_max
571                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
572 </div>
573 <hr>
574 <div class="refsect2">
575 <a name="gst-audio-encoder-get-hard-min"></a><h3>gst_audio_encoder_get_hard_min ()</h3>
576 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_audio_encoder_get_hard_min      (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
577 <p>
578 Queries encoder hard minimum handling.
579 </p>
580 <div class="variablelist"><table border="0">
581 <col align="left" valign="top">
582 <tbody>
583 <tr>
584 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
585 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
586 </td>
587 </tr>
588 <tr>
589 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
590 <td>TRUE if hard minimum handling is enabled.
591 MT safe.</td>
592 </tr>
593 </tbody>
594 </table></div>
595 <p class="since">Since 0.10.36</p>
596 </div>
597 <hr>
598 <div class="refsect2">
599 <a name="gst-audio-encoder-get-hard-resync"></a><h3>gst_audio_encoder_get_hard_resync ()</h3>
600 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_audio_encoder_get_hard_resync   (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
601 </div>
602 <hr>
603 <div class="refsect2">
604 <a name="gst-audio-encoder-get-latency"></a><h3>gst_audio_encoder_get_latency ()</h3>
605 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_get_latency       (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
606                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *min</code></em>,
607                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> *max</code></em>);</pre>
608 <p>
609 Sets the variables pointed to by <em class="parameter"><code>min</code></em> and <em class="parameter"><code>max</code></em> to the currently configured
610 latency.
611 </p>
612 <div class="variablelist"><table border="0">
613 <col align="left" valign="top">
614 <tbody>
615 <tr>
616 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
617 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
618 </td>
619 </tr>
620 <tr>
621 <td><p><span class="term"><em class="parameter"><code>min</code></em> :</span></p></td>
622 <td>a pointer to storage to hold minimum latency. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
623 </td>
624 </tr>
625 <tr>
626 <td><p><span class="term"><em class="parameter"><code>max</code></em> :</span></p></td>
627 <td>a pointer to storage to hold maximum latency. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
628 </td>
629 </tr>
630 </tbody>
631 </table></div>
632 <p class="since">Since 0.10.36</p>
633 </div>
634 <hr>
635 <div class="refsect2">
636 <a name="gst-audio-encoder-get-lookahead"></a><h3>gst_audio_encoder_get_lookahead ()</h3>
637 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                gst_audio_encoder_get_lookahead     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
638 <div class="variablelist"><table border="0">
639 <col align="left" valign="top">
640 <tbody>
641 <tr>
642 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
643 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
644 </td>
645 </tr>
646 <tr>
647 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
648 <td>currently configured encoder lookahead</td>
649 </tr>
650 </tbody>
651 </table></div>
652 </div>
653 <hr>
654 <div class="refsect2">
655 <a name="gst-audio-encoder-get-mark-granule"></a><h3>gst_audio_encoder_get_mark_granule ()</h3>
656 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_audio_encoder_get_mark_granule  (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
657 <p>
658 Queries if the encoder will handle granule marking.
659 </p>
660 <div class="variablelist"><table border="0">
661 <col align="left" valign="top">
662 <tbody>
663 <tr>
664 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
665 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
666 </td>
667 </tr>
668 <tr>
669 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
670 <td>TRUE if granule marking is enabled.
671 MT safe.</td>
672 </tr>
673 </tbody>
674 </table></div>
675 <p class="since">Since 0.10.36</p>
676 </div>
677 <hr>
678 <div class="refsect2">
679 <a name="gst-audio-encoder-get-perfect-timestamp"></a><h3>gst_audio_encoder_get_perfect_timestamp ()</h3>
680 <pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gst_audio_encoder_get_perfect_timestamp
681                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
682 <p>
683 Queries encoder perfect timestamp behaviour.
684 </p>
685 <div class="variablelist"><table border="0">
686 <col align="left" valign="top">
687 <tbody>
688 <tr>
689 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
690 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
691 </td>
692 </tr>
693 <tr>
694 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
695 <td>TRUE if perfect timestamp setting enabled.
696 MT safe.</td>
697 </tr>
698 </tbody>
699 </table></div>
700 <p class="since">Since 0.10.36</p>
701 </div>
702 <hr>
703 <div class="refsect2">
704 <a name="gst-audio-encoder-get-tolerance"></a><h3>gst_audio_encoder_get_tolerance ()</h3>
705 <pre class="programlisting"><span class="returnvalue">gint64</span>              gst_audio_encoder_get_tolerance     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>);</pre>
706 <p>
707 Queries current audio jitter tolerance threshold.
708 </p>
709 <div class="variablelist"><table border="0">
710 <col align="left" valign="top">
711 <tbody>
712 <tr>
713 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
714 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
715 </td>
716 </tr>
717 <tr>
718 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
719 <td>encoder audio jitter tolerance threshold.
720 MT safe.</td>
721 </tr>
722 </tbody>
723 </table></div>
724 <p class="since">Since 0.10.36</p>
725 </div>
726 <hr>
727 <div class="refsect2">
728 <a name="gst-audio-encoder-proxy-getcaps"></a><h3>gst_audio_encoder_proxy_getcaps ()</h3>
729 <pre class="programlisting"><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="returnvalue">GstCaps</span></a> *           gst_audio_encoder_proxy_getcaps     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
730                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> *caps</code></em>);</pre>
731 <p>
732 Returns caps that express <em class="parameter"><code>caps</code></em> (or sink template caps if <em class="parameter"><code>caps</code></em> == NULL)
733 restricted to channel/rate combinations supported by downstream elements
734 (e.g. muxers).
735 </p>
736 <div class="variablelist"><table border="0">
737 <col align="left" valign="top">
738 <tbody>
739 <tr>
740 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
741 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
742 </td>
743 </tr>
744 <tr>
745 <td><p><span class="term"><em class="parameter"><code>caps</code></em> :</span></p></td>
746 <td>initial caps</td>
747 </tr>
748 <tr>
749 <td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
750 <td>a <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/gstreamer-GstCaps.html#GstCaps"><span class="type">GstCaps</span></a> owned by caller</td>
751 </tr>
752 </tbody>
753 </table></div>
754 <p class="since">Since 0.10.36</p>
755 </div>
756 <hr>
757 <div class="refsect2">
758 <a name="gst-audio-encoder-set-drainable"></a><h3>gst_audio_encoder_set_drainable ()</h3>
759 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_set_drainable     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
760                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
761 <p>
762 Configures encoder drain handling.  If drainable, subclass might
763 be handed a NULL buffer to have it return any leftover encoded data.
764 Otherwise, it is not considered so capable and will only ever be passed
765 real data.
766 </p>
767 <p>
768 MT safe.
769 </p>
770 <div class="variablelist"><table border="0">
771 <col align="left" valign="top">
772 <tbody>
773 <tr>
774 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
775 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
776 </td>
777 </tr>
778 <tr>
779 <td><p><span class="term"><em class="parameter"><code>enabled</code></em> :</span></p></td>
780 <td>new state</td>
781 </tr>
782 </tbody>
783 </table></div>
784 <p class="since">Since 0.10.36</p>
785 </div>
786 <hr>
787 <div class="refsect2">
788 <a name="gst-audio-encoder-set-frame-max"></a><h3>gst_audio_encoder_set_frame_max ()</h3>
789 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_set_frame_max     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
790                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);</pre>
791 <p>
792 Sets max number of frames accepted at once (assumed minimally 1).
793 Requires <em class="parameter"><code>frame_samples_min</code></em> and <em class="parameter"><code>frame_samples_max</code></em> to be the equal.
794 </p>
795 <div class="variablelist"><table border="0">
796 <col align="left" valign="top">
797 <tbody>
798 <tr>
799 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
800 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
801 </td>
802 </tr>
803 <tr>
804 <td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
805 <td>number of frames</td>
806 </tr>
807 </tbody>
808 </table></div>
809 <p class="since">Since 0.10.36</p>
810 </div>
811 <hr>
812 <div class="refsect2">
813 <a name="gst-audio-encoder-set-frame-samples-min"></a><h3>gst_audio_encoder_set_frame_samples_min ()</h3>
814 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_set_frame_samples_min
815                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
816                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);</pre>
817 <p>
818 Sets number of samples (per channel) subclass needs to be handed,
819 at least or will be handed all available if 0.
820 </p>
821 <p>
822 If an exact number of samples is required, <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-frame-samples-max" title="gst_audio_encoder_set_frame_samples_max ()"><code class="function">gst_audio_encoder_set_frame_samples_max()</code></a>
823 must be called with the same number.
824 </p>
825 <div class="variablelist"><table border="0">
826 <col align="left" valign="top">
827 <tbody>
828 <tr>
829 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
830 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
831 </td>
832 </tr>
833 <tr>
834 <td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
835 <td>number of samples per frame</td>
836 </tr>
837 </tbody>
838 </table></div>
839 <p class="since">Since 0.10.36</p>
840 </div>
841 <hr>
842 <div class="refsect2">
843 <a name="gst-audio-encoder-set-frame-samples-max"></a><h3>gst_audio_encoder_set_frame_samples_max ()</h3>
844 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_set_frame_samples_max
845                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
846                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);</pre>
847 <p>
848 Sets number of samples (per channel) subclass needs to be handed,
849 at most or will be handed all available if 0.
850 </p>
851 <p>
852 If an exact number of samples is required, <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#gst-audio-encoder-set-frame-samples-min" title="gst_audio_encoder_set_frame_samples_min ()"><code class="function">gst_audio_encoder_set_frame_samples_min()</code></a>
853 must be called with the same number.
854 </p>
855 <div class="variablelist"><table border="0">
856 <col align="left" valign="top">
857 <tbody>
858 <tr>
859 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
860 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
861 </td>
862 </tr>
863 <tr>
864 <td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
865 <td>number of samples per frame</td>
866 </tr>
867 </tbody>
868 </table></div>
869 <p class="since">Since 0.10.36</p>
870 </div>
871 <hr>
872 <div class="refsect2">
873 <a name="gst-audio-encoder-set-hard-min"></a><h3>gst_audio_encoder_set_hard_min ()</h3>
874 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_set_hard_min      (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
875                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
876 <p>
877 Configures encoder hard minimum handling.  If enabled, subclass
878 will never be handed less samples than it configured, which otherwise
879 might occur near end-of-data handling.  Instead, the leftover samples
880 will simply be discarded.
881 </p>
882 <p>
883 MT safe.
884 </p>
885 <div class="variablelist"><table border="0">
886 <col align="left" valign="top">
887 <tbody>
888 <tr>
889 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
890 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
891 </td>
892 </tr>
893 <tr>
894 <td><p><span class="term"><em class="parameter"><code>enabled</code></em> :</span></p></td>
895 <td>new state</td>
896 </tr>
897 </tbody>
898 </table></div>
899 <p class="since">Since 0.10.36</p>
900 </div>
901 <hr>
902 <div class="refsect2">
903 <a name="gst-audio-encoder-set-hard-resync"></a><h3>gst_audio_encoder_set_hard_resync ()</h3>
904 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_set_hard_resync   (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
905                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
906 </div>
907 <hr>
908 <div class="refsect2">
909 <a name="gst-audio-encoder-set-latency"></a><h3>gst_audio_encoder_set_latency ()</h3>
910 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_set_latency       (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
911                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> min</code></em>,
912                                                          <em class="parameter"><code><a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer/html/GstClock.html#GstClockTime"><span class="type">GstClockTime</span></a> max</code></em>);</pre>
913 <p>
914 Sets encoder latency.
915 </p>
916 <div class="variablelist"><table border="0">
917 <col align="left" valign="top">
918 <tbody>
919 <tr>
920 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
921 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
922 </td>
923 </tr>
924 <tr>
925 <td><p><span class="term"><em class="parameter"><code>min</code></em> :</span></p></td>
926 <td>minimum latency</td>
927 </tr>
928 <tr>
929 <td><p><span class="term"><em class="parameter"><code>max</code></em> :</span></p></td>
930 <td>maximum latency</td>
931 </tr>
932 </tbody>
933 </table></div>
934 <p class="since">Since 0.10.36</p>
935 </div>
936 <hr>
937 <div class="refsect2">
938 <a name="gst-audio-encoder-set-lookahead"></a><h3>gst_audio_encoder_set_lookahead ()</h3>
939 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_set_lookahead     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
940                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> num</code></em>);</pre>
941 <p>
942 Sets encoder lookahead (in units of input rate samples)
943 </p>
944 <div class="variablelist"><table border="0">
945 <col align="left" valign="top">
946 <tbody>
947 <tr>
948 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
949 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
950 </td>
951 </tr>
952 <tr>
953 <td><p><span class="term"><em class="parameter"><code>num</code></em> :</span></p></td>
954 <td>lookahead</td>
955 </tr>
956 </tbody>
957 </table></div>
958 <p class="since">Since 0.10.36</p>
959 </div>
960 <hr>
961 <div class="refsect2">
962 <a name="gst-audio-encoder-set-mark-granule"></a><h3>gst_audio_encoder_set_mark_granule ()</h3>
963 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_set_mark_granule  (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
964                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
965 <p>
966 Enable or disable encoder granule handling.
967 </p>
968 <p>
969 MT safe.
970 </p>
971 <div class="variablelist"><table border="0">
972 <col align="left" valign="top">
973 <tbody>
974 <tr>
975 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
976 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
977 </td>
978 </tr>
979 <tr>
980 <td><p><span class="term"><em class="parameter"><code>enabled</code></em> :</span></p></td>
981 <td>new state</td>
982 </tr>
983 </tbody>
984 </table></div>
985 <p class="since">Since 0.10.36</p>
986 </div>
987 <hr>
988 <div class="refsect2">
989 <a name="gst-audio-encoder-set-perfect-timestamp"></a><h3>gst_audio_encoder_set_perfect_timestamp ()</h3>
990 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_set_perfect_timestamp
991                                                         (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
992                                                          <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> enabled</code></em>);</pre>
993 <p>
994 Enable or disable encoder perfect output timestamp preference.
995 </p>
996 <p>
997 MT safe.
998 </p>
999 <div class="variablelist"><table border="0">
1000 <col align="left" valign="top">
1001 <tbody>
1002 <tr>
1003 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
1004 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
1005 </td>
1006 </tr>
1007 <tr>
1008 <td><p><span class="term"><em class="parameter"><code>enabled</code></em> :</span></p></td>
1009 <td>new state</td>
1010 </tr>
1011 </tbody>
1012 </table></div>
1013 <p class="since">Since 0.10.36</p>
1014 </div>
1015 <hr>
1016 <div class="refsect2">
1017 <a name="gst-audio-encoder-set-tolerance"></a><h3>gst_audio_encoder_set_tolerance ()</h3>
1018 <pre class="programlisting"><span class="returnvalue">void</span>                gst_audio_encoder_set_tolerance     (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a> *enc</code></em>,
1019                                                          <em class="parameter"><code><span class="type">gint64</span> tolerance</code></em>);</pre>
1020 <p>
1021 Configures encoder audio jitter tolerance threshold.
1022 </p>
1023 <p>
1024 MT safe.
1025 </p>
1026 <div class="variablelist"><table border="0">
1027 <col align="left" valign="top">
1028 <tbody>
1029 <tr>
1030 <td><p><span class="term"><em class="parameter"><code>enc</code></em> :</span></p></td>
1031 <td>a <a class="link" href="gst-plugins-base-libs-gstaudioencoder.html#GstAudioEncoder"><span class="type">GstAudioEncoder</span></a>
1032 </td>
1033 </tr>
1034 <tr>
1035 <td><p><span class="term"><em class="parameter"><code>tolerance</code></em> :</span></p></td>
1036 <td>new tolerance</td>
1037 </tr>
1038 </tbody>
1039 </table></div>
1040 <p class="since">Since 0.10.36</p>
1041 </div>
1042 </div>
1043 <div class="refsect1">
1044 <a name="gst-plugins-base-libs-gstaudioencoder.property-details"></a><h2>Property Details</h2>
1045 <div class="refsect2">
1046 <a name="GstAudioEncoder--hard-resync"></a><h3>The <code class="literal">"hard-resync"</code> property</h3>
1047 <pre class="programlisting">  "hard-resync"              <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
1048 <p>Perform clipping and sample flushing upon discontinuity.</p>
1049 <p>Default value: FALSE</p>
1050 </div>
1051 <hr>
1052 <div class="refsect2">
1053 <a name="GstAudioEncoder--mark-granule"></a><h3>The <code class="literal">"mark-granule"</code> property</h3>
1054 <pre class="programlisting">  "mark-granule"             <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read</pre>
1055 <p>Apply granule semantics to buffer metadata (implies perfect-timestamp).</p>
1056 <p>Default value: FALSE</p>
1057 </div>
1058 <hr>
1059 <div class="refsect2">
1060 <a name="GstAudioEncoder--perfect-timestamp"></a><h3>The <code class="literal">"perfect-timestamp"</code> property</h3>
1061 <pre class="programlisting">  "perfect-timestamp"        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read / Write</pre>
1062 <p>Favour perfect timestamps over tracking upstream timestamps.</p>
1063 <p>Default value: FALSE</p>
1064 </div>
1065 <hr>
1066 <div class="refsect2">
1067 <a name="GstAudioEncoder--tolerance"></a><h3>The <code class="literal">"tolerance"</code> property</h3>
1068 <pre class="programlisting">  "tolerance"                <span class="type">gint64</span>                : Read / Write</pre>
1069 <p>Consider discontinuity if timestamp jitter/imperfection exceeds tolerance (ns).</p>
1070 <p>Allowed values: &gt;= 0</p>
1071 <p>Default value: 40000000</p>
1072 </div>
1073 </div>
1074 <div class="refsect1">
1075 <a name="gst-plugins-base-libs-gstaudioencoder.see-also"></a><h2>See Also</h2>
1076 <a href="http://gstreamer.freedesktop.org/data/doc/gstreamer/head/gstreamer-libs/html/GstBaseTransform.html"><span class="type">GstBaseTransform</span></a>
1077 </div>
1078 </div>
1079 <div class="footer">
1080 <hr>
1081           Generated by GTK-Doc V1.18</div>
1082 </body>
1083 </html>