<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>gstreamermm: Gst::AudioSrc Class Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.6.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="namespaces.html"><span>Namespaces</span></a></li> <li class="current"><a href="annotated.html"><span>Classes</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Class List</span></a></li> <li><a href="hierarchy.html"><span>Class Hierarchy</span></a></li> <li><a href="functions.html"><span>Class Members</span></a></li> </ul> </div> <div class="navpath"><a class="el" href="namespaceGst.html">Gst</a>::<a class="el" href="classGst_1_1AudioSrc.html">AudioSrc</a> </div> </div> <div class="contents"> <h1>Gst::AudioSrc Class Reference<br/> <small> [<a class="el" href="group__GstBaseClasses.html">gstreamermm Base Classes</a>]</small> </h1><!-- doxytag: class="Gst::AudioSrc" --><!-- doxytag: inherits="Gst::BaseAudioSrc" --> <p><a class="el" href="classGst_1_1AudioSrc.html" title="Gst::AudioSrc - Simple base class for audio sources.">Gst::AudioSrc</a> - Simple base class for audio sources. <a href="#_details">More...</a></p> <p>Inherits <a class="el" href="classGst_1_1BaseAudioSrc.html">Gst::BaseAudioSrc</a>.</p> <p>Inherited by <a class="el" href="classGst_1_1AlsaSrc.html">Gst::AlsaSrc</a>.</p> <div class="dynheader"> Collaboration diagram for Gst::AudioSrc:</div> <div class="dynsection"> <div class="center"><img src="classGst_1_1AudioSrc__coll__graph.png" border="0" usemap="#Gst_1_1AudioSrc_coll__map" alt="Collaboration graph"/></div> <map name="Gst_1_1AudioSrc_coll__map" id="Gst_1_1AudioSrc_coll__map"> <area shape="rect" href="classGst_1_1BaseAudioSrc.html" title="Gst::BaseAudioSrc - Base class for audio sources." alt="" coords="5,547,139,576"/><area shape="rect" href="classGst_1_1PushSrc.html" title="Gst::PushSrc - Base class for push based source elements." alt="" coords="23,469,121,499"/><area shape="rect" href="classGst_1_1BaseSrc.html" title="Gst::BaseSrc - Base class for getrange based source elements." alt="" coords="23,392,121,421"/><area shape="rect" href="classGst_1_1Element.html" title="Gst::Element - Abstract base class for all pipeline elements." alt="" coords="23,315,121,344"/><area shape="rect" href="classGst_1_1Object.html" title="Gst::Object - Base class for the GStreamer object hierarchy." alt="" coords="28,237,116,267"/><area shape="rect" href="../../../glibmm-2.4/reference/html/classGlib_1_1Object.html" title="Glib::Object" alt="" coords="27,160,117,189"/><area shape="rect" href="../../../glibmm-2.4/reference/html/classGlib_1_1ObjectBase.html" title="Glib::ObjectBase" alt="" coords="12,83,132,112"/><area shape="rect" href="../../../libsigc++-2.0/reference/html/structsigc_1_1trackable.html" title="sigc::trackable" alt="" coords="19,5,125,35"/></map> <center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div> <p><a href="classGst_1_1AudioSrc-members.html">List of all members.</a></p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td colspan="2"><h2>Public Member Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1AudioSrc.html#a516506c2dae4fc87abcb59e23b21505c">~AudioSrc</a> ()</td></tr> <tr><td class="memItemLeft" align="right" valign="top">GstAudioSrc* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1AudioSrc.html#a16e3cea6516c9e9243d5e415d64e90a5">gobj</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#a16e3cea6516c9e9243d5e415d64e90a5"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">const GstAudioSrc* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1AudioSrc.html#af83d71750506ecd2679640d93008e444">gobj</a> () const </td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C GObject. <a href="#af83d71750506ecd2679640d93008e444"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">GstAudioSrc* </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1AudioSrc.html#a57aec00291d765eacd4063b9902003e1">gobj_copy</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. <a href="#a57aec00291d765eacd4063b9902003e1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1AudioSrc.html#a1db02ebc5ffeef0f7c0b3dded781173a">prepare_vfunc</a> (const <a class="el" href="classGst_1_1RingBufferSpec.html">Gst::RingBufferSpec</a>& spec)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vfunc to open the device. <a href="#a1db02ebc5ffeef0f7c0b3dded781173a"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual guint </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1AudioSrc.html#a7314bcee85d8ee4513bd706a0bd83759">read_vfunc</a> (const void* data, guint length)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vfunc to undo the configuration. <a href="#a7314bcee85d8ee4513bd706a0bd83759"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual guint </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1AudioSrc.html#aee85ddb26d2a545cab90500174a9a2a0">get_delay_vfunc</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vfunc to get the number of samples queued in the device. <a href="#aee85ddb26d2a545cab90500174a9a2a0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">virtual void </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1AudioSrc.html#a9c5b5ee8ced6b076a65901c22fbd08df">reset_vfunc</a> ()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">vfunc to unblock a read to the device and reset. <a href="#a9c5b5ee8ced6b076a65901c22fbd08df"></a><br/></td></tr> <tr><td colspan="2"><h2>Related Functions</h2></td></tr> <tr><td colspan="2"><p>(Note that these are not member functions.) </p> <br/><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGst_1_1AudioSrc.html">Gst::AudioSrc</a> > </td><td class="memItemRight" valign="bottom"><a class="el" href="classGst_1_1AudioSrc.html#a4f74635f4f608cd7e2f9b50bf19da05f">wrap</a> (GstAudioSrc* object, bool take_copy=false)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">A <a class="elRef" href="../../../glibmm-2.4/reference/html/namespaceGlib.html#a671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. <a href="#a4f74635f4f608cd7e2f9b50bf19da05f"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <p><a class="el" href="classGst_1_1AudioSrc.html" title="Gst::AudioSrc - Simple base class for audio sources.">Gst::AudioSrc</a> - Simple base class for audio sources. </p> <p>This is the most simple base class for audio sources that only requires subclasses to implement a set of simple virtual functions:</p> <ul> <li>open_vfunc() - Open the device.</li> <li><a class="el" href="classGst_1_1AudioSrc.html#a1db02ebc5ffeef0f7c0b3dded781173a" title="vfunc to open the device.">prepare_vfunc()</a> - Configure the device with the specified format.</li> <li><a class="el" href="classGst_1_1AudioSrc.html#a7314bcee85d8ee4513bd706a0bd83759" title="vfunc to undo the configuration.">read_vfunc()</a> - Read samples from the device.</li> <li><a class="el" href="classGst_1_1AudioSrc.html#a9c5b5ee8ced6b076a65901c22fbd08df" title="vfunc to unblock a read to the device and reset.">reset_vfunc()</a> - Unblock reads and flush the device.</li> <li><a class="el" href="classGst_1_1AudioSrc.html#aee85ddb26d2a545cab90500174a9a2a0" title="vfunc to get the number of samples queued in the device.">get_delay_vfunc()</a> - Get the number of samples written but not yet played by the device.</li> <li>unprepare_vfunc() - Undo operations done by prepare.</li> <li>close_vfunc() - Close the device.</li> </ul> <p>All scheduling of samples and timestamps is done in this base class together with <a class="el" href="classGst_1_1BaseAudioSrc.html" title="Gst::BaseAudioSrc - Base class for audio sources.">Gst::BaseAudioSrc</a> using a default implementation of a <a class="el" href="classGst_1_1RingBuffer.html" title="Gst::RingBuffer — Base class for audio ringbuffer implementations.">Gst::RingBuffer</a> that uses threads.</p> <p>Last reviewed on 2006-09-27 (0.10.12) </p> <hr/><h2>Constructor & Destructor Documentation</h2> <a class="anchor" id="a516506c2dae4fc87abcb59e23b21505c"></a><!-- doxytag: member="Gst::AudioSrc::~AudioSrc" ref="a516506c2dae4fc87abcb59e23b21505c" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual Gst::AudioSrc::~AudioSrc </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> </div> </div> <hr/><h2>Member Function Documentation</h2> <a class="anchor" id="aee85ddb26d2a545cab90500174a9a2a0"></a><!-- doxytag: member="Gst::AudioSrc::get_delay_vfunc" ref="aee85ddb26d2a545cab90500174a9a2a0" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual guint Gst::AudioSrc::get_delay_vfunc </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>vfunc to get the number of samples queued in the device. </p> </div> </div> <a class="anchor" id="af83d71750506ecd2679640d93008e444"></a><!-- doxytag: member="Gst::AudioSrc::gobj" ref="af83d71750506ecd2679640d93008e444" args="() const " --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const GstAudioSrc* Gst::AudioSrc::gobj </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td> const<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Provides access to the underlying C GObject. </p> <p>Reimplemented from <a class="el" href="classGst_1_1BaseAudioSrc.html#a4c0315945754969d97914078a0ecb02b">Gst::BaseAudioSrc</a>.</p> <p>Reimplemented in <a class="el" href="classGst_1_1AlsaSrc.html#ad319f9928cb29a4d6f6fb124f0765f87">Gst::AlsaSrc</a>.</p> </div> </div> <a class="anchor" id="a16e3cea6516c9e9243d5e415d64e90a5"></a><!-- doxytag: member="Gst::AudioSrc::gobj" ref="a16e3cea6516c9e9243d5e415d64e90a5" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GstAudioSrc* Gst::AudioSrc::gobj </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>Provides access to the underlying C GObject. </p> <p>Reimplemented from <a class="el" href="classGst_1_1BaseAudioSrc.html#ab1bfb45ddb90b79e51bf0312b141248a">Gst::BaseAudioSrc</a>.</p> <p>Reimplemented in <a class="el" href="classGst_1_1AlsaSrc.html#a94df337559dff2156fd3b561186dbfbc">Gst::AlsaSrc</a>.</p> </div> </div> <a class="anchor" id="a57aec00291d765eacd4063b9902003e1"></a><!-- doxytag: member="Gst::AudioSrc::gobj_copy" ref="a57aec00291d765eacd4063b9902003e1" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">GstAudioSrc* Gst::AudioSrc::gobj_copy </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. </p> <p>Reimplemented from <a class="el" href="classGst_1_1BaseAudioSrc.html#a2db3391336dbde984808b796c5afcb42">Gst::BaseAudioSrc</a>.</p> <p>Reimplemented in <a class="el" href="classGst_1_1AlsaSrc.html#ae178f08e5772c8c5260fd9774f4f0a78">Gst::AlsaSrc</a>.</p> </div> </div> <a class="anchor" id="a1db02ebc5ffeef0f7c0b3dded781173a"></a><!-- doxytag: member="Gst::AudioSrc::prepare_vfunc" ref="a1db02ebc5ffeef0f7c0b3dded781173a" args="(const Gst::RingBufferSpec &spec)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual bool Gst::AudioSrc::prepare_vfunc </td> <td>(</td> <td class="paramtype">const <a class="el" href="classGst_1_1RingBufferSpec.html">Gst::RingBufferSpec</a>& </td> <td class="paramname"> <em>spec</em></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>vfunc to open the device. </p> <p>vfunc to configure device with spec. </p> </div> </div> <a class="anchor" id="a7314bcee85d8ee4513bd706a0bd83759"></a><!-- doxytag: member="Gst::AudioSrc::read_vfunc" ref="a7314bcee85d8ee4513bd706a0bd83759" args="(const void *data, guint length)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual guint Gst::AudioSrc::read_vfunc </td> <td>(</td> <td class="paramtype">const void * </td> <td class="paramname"> <em>data</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">guint </td> <td class="paramname"> <em>length</em></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>vfunc to undo the configuration. </p> <p>vfunc to close the device. vfunc to read samples to the audio device. </p> </div> </div> <a class="anchor" id="a9c5b5ee8ced6b076a65901c22fbd08df"></a><!-- doxytag: member="Gst::AudioSrc::reset_vfunc" ref="a9c5b5ee8ced6b076a65901c22fbd08df" args="()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">virtual void Gst::AudioSrc::reset_vfunc </td> <td>(</td> <td class="paramname"></td> <td> ) </td> <td><code> [virtual]</code></td> </tr> </table> </div> <div class="memdoc"> <p>vfunc to unblock a read to the device and reset. </p> </div> </div> <hr/><h2>Friends And Related Function Documentation</h2> <a class="anchor" id="a4f74635f4f608cd7e2f9b50bf19da05f"></a><!-- doxytag: member="Gst::AudioSrc::wrap" ref="a4f74635f4f608cd7e2f9b50bf19da05f" args="(GstAudioSrc *object, bool take_copy=false)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="elRef" href="../../../glibmm-2.4/reference/html/classGlib_1_1RefPtr.html">Glib::RefPtr</a>< <a class="el" href="classGst_1_1AudioSrc.html">Gst::AudioSrc</a> > wrap </td> <td>(</td> <td class="paramtype">GstAudioSrc * </td> <td class="paramname"> <em>object</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">bool </td> <td class="paramname"> <em>take_copy</em> = <code>false</code></td><td> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td><td><code> [related]</code></td> </tr> </table> </div> <div class="memdoc"> <p>A <a class="elRef" href="../../../glibmm-2.4/reference/html/namespaceGlib.html#a671306f4a3a0cae5ab4d7a9d54886592">Glib::wrap()</a> method for this object. </p> <dl><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>object</em> </td><td>The C instance. </td></tr> <tr><td valign="top"></td><td valign="top"><em>take_copy</em> </td><td>False if the result should take ownership of the C instance. True if it should take a new copy or ref. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>A C++ instance that wraps this C instance. </dd></dl> </div> </div> <hr/>The documentation for this class was generated from the following file:<ul> <li>gstreamermm/audiosrc.h</li> </ul> </div> <hr size="1"/><address style="text-align: right;"><small>Generated on Mon Sep 21 22:32:53 2009 for gstreamermm by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address> </body> </html>