<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>gstaudiocdsrc: GStreamer Base Plugins 1.0 Library Reference Manual</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Library Reference Manual">
<link rel="up" href="gstreamer-audio.html" title="Audio Library">
<link rel="prev" href="gst-plugins-base-libs-gstaudiometa.html" title="gstaudiometa">
<link rel="next" href="gst-plugins-base-libs-gstaudioclock.html" title="gstaudioclock">
<meta name="generator" content="GTK-Doc V1.25 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="5"><tr valign="middle">
<td width="100%" align="left" class="shortcuts">
<a href="#" class="shortcut">Top</a><span id="nav_description">  <span class="dim">|</span> 
                  <a href="#gst-plugins-base-libs-gstaudiocdsrc.description" class="shortcut">Description</a></span><span id="nav_hierarchy">  <span class="dim">|</span> 
                  <a href="#gst-plugins-base-libs-gstaudiocdsrc.object-hierarchy" class="shortcut">Object Hierarchy</a></span><span id="nav_interfaces">  <span class="dim">|</span> 
                  <a href="#gst-plugins-base-libs-gstaudiocdsrc.implemented-interfaces" class="shortcut">Implemented Interfaces</a></span><span id="nav_properties">  <span class="dim">|</span> 
                  <a href="#gst-plugins-base-libs-gstaudiocdsrc.properties" class="shortcut">Properties</a></span>
</td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="16" height="16" border="0" alt="Home"></a></td>
<td><a accesskey="u" href="gstreamer-audio.html"><img src="up.png" width="16" height="16" border="0" alt="Up"></a></td>
<td><a accesskey="p" href="gst-plugins-base-libs-gstaudiometa.html"><img src="left.png" width="16" height="16" border="0" alt="Prev"></a></td>
<td><a accesskey="n" href="gst-plugins-base-libs-gstaudioclock.html"><img src="right.png" width="16" height="16" border="0" alt="Next"></a></td>
</tr></table>
<div class="refentry">
<a name="gst-plugins-base-libs-gstaudiocdsrc"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="gst-plugins-base-libs-gstaudiocdsrc.top_of_page"></a>gstaudiocdsrc</span></h2>
<p>gstaudiocdsrc — Base class for Audio CD sources</p>
</td>
<td class="gallery_image" valign="top" align="right"></td>
</tr></table></div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiocdsrc.functions"></a><h2>Functions</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="functions_return">
<col class="functions_name">
</colgroup>
<tbody><tr>
<td class="function_type">
<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
</td>
<td class="function_name">
<a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#gst-audio-cd-src-add-track" title="gst_audio_cd_src_add_track ()">gst_audio_cd_src_add_track</a> <span class="c_punctuation">()</span>
</td>
</tr></tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiocdsrc.properties"></a><h2>Properties</h2>
<div class="informaltable"><table class="informaltable" border="0">
<colgroup>
<col width="150px" class="properties_type">
<col width="300px" class="properties_name">
<col width="200px" class="properties_flags">
</colgroup>
<tbody>
<tr>
<td class="property_type">
<a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrc--device" title="The “device” property">device</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcMode" title="enum GstAudioCdSrcMode"><span class="type">GstAudioCdSrcMode</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrc--mode" title="The “mode” property">mode</a></td>
<td class="property_flags">Read / Write</td>
</tr>
<tr>
<td class="property_type"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></td>
<td class="property_name"><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrc--track" title="The “track” property">track</a></td>
<td class="property_flags">Read / Write</td>
</tr>
</tbody>
</table></div>
</div>
<a name="GstAudioCdSrc"></a><div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiocdsrc.other"></a><h2>Types and Values</h2>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="name">
<col class="description">
</colgroup>
<tbody>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrc-struct" title="struct GstAudioCdSrc">GstAudioCdSrc</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcClass" title="struct GstAudioCdSrcClass">GstAudioCdSrcClass</a></td>
</tr>
<tr>
<td class="datatype_keyword">struct</td>
<td class="function_name"><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcTrack" title="struct GstAudioCdSrcTrack">GstAudioCdSrcTrack</a></td>
</tr>
<tr>
<td class="datatype_keyword">enum</td>
<td class="function_name"><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcMode" title="enum GstAudioCdSrcMode">GstAudioCdSrcMode</a></td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiocdsrc.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="screen">    <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GObject-struct">GObject</a>
    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gobjectgobject-The-Base-Object-Type.html#GInitiallyUnowned">GInitiallyUnowned</a>
        <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstObject.html#GstObject-struct">GstObject</a>
            <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#GstElement-struct">GstElement</a>
                <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstBaseSrc.html#GstBaseSrc-struct">GstBaseSrc</a>
                    <span class="lineart">╰──</span> <a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstPushSrc.html#GstPushSrc-struct">GstPushSrc</a>
                        <span class="lineart">╰──</span> GstAudioCdSrc
</pre>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiocdsrc.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GstAudioCdSrc implements
 <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstUriHandler.html#GstURIHandler-struct">GstURIHandler</a>.</p>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiocdsrc.includes"></a><h2>Includes</h2>
<pre class="synopsis">#include &lt;gst/audio/gstaudiocdsrc.h&gt;
</pre>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiocdsrc.description"></a><h2>Description</h2>
<p>
Provides a base class for CD digital audio (CDDA) sources, which handles
things like seeking, querying, discid calculation, tags, and buffer
timestamping.
</p>
<div class="refsect2">
<a name="id-1.2.6.5.10.3"></a><h3>Using GstAudioCdSrc-based elements in applications</h3>
<p>
GstAudioCdSrc registers two <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>s of its own, namely
the "track" format and the "sector" format. Applications will usually
only find the "track" format interesting. You can retrieve that <a href="/usr/share/gtk-doc/html/gstreamer-1.0gstreamer-GstFormat.html#GstFormat"><span class="type">GstFormat</span></a>
for use in seek events or queries with gst_format_get_by_nick("track").
</p>
<p>
In order to query the number of tracks, for example, an application would
set the CDDA source element to READY or PAUSED state and then query the
the number of tracks via <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstElement.html#gst-element-query-duration"><code class="function">gst_element_query_duration()</code></a> using the track
format acquired above. Applications can query the currently playing track
in the same way.
</p>
<p>
Alternatively, applications may retrieve the currently playing track and
the total number of tracks from the taglist that will posted on the bus
whenever the CD is opened or the currently playing track changes. The
taglist will contain GST_TAG_TRACK_NUMBER and GST_TAG_TRACK_COUNT tags.
</p>
<p>
Applications playing back CD audio using playbin and cdda://n URIs should
issue a seek command in track format to change between tracks, rather than
setting a new cdda://n+1 URI on playbin (as setting a new URI on playbin
involves closing and re-opening the CD device, which is much much slower).
</p>
<div class="refsect2"><a name="id-1.2.6.5.10.3.6"></a></div>
<p>
CDDA sources will automatically emit a number of tags, details about which
can be found in the libgsttag documentation. Those tags are:
<a class="link" href="gst-plugins-base-libs-gsttag.html#GST-TAG-CDDA-CDDB-DISCID:CAPS" title="GST_TAG_CDDA_CDDB_DISCID"><span class="type">GST_TAG_CDDA_CDDB_DISCID</span></a>, <a class="link" href="gst-plugins-base-libs-gsttag.html#GST-TAG-CDDA-CDDB-DISCID-FULL:CAPS" title="GST_TAG_CDDA_CDDB_DISCID_FULL"><span class="type">GST_TAG_CDDA_CDDB_DISCID_FULL</span></a>,
<a class="link" href="gst-plugins-base-libs-gsttag.html#GST-TAG-CDDA-MUSICBRAINZ-DISCID:CAPS" title="GST_TAG_CDDA_MUSICBRAINZ_DISCID"><span class="type">GST_TAG_CDDA_MUSICBRAINZ_DISCID</span></a>, <a class="link" href="gst-plugins-base-libs-gsttag.html#GST-TAG-CDDA-MUSICBRAINZ-DISCID-FULL:CAPS" title="GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL"><span class="type">GST_TAG_CDDA_MUSICBRAINZ_DISCID_FULL</span></a>,
among others.
</p>
</div>
<hr>
<div class="refsect2">
<a name="id-1.2.6.5.10.4"></a><h3>Tracks and Table of Contents (TOC)</h3>
<p>
Applications will be informed of the available tracks via a TOC message
on the pipeline's <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#GstBus-struct"><span class="type">GstBus</span></a>. The <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstToc.html#GstToc-struct"><span class="type">GstToc</span></a> will contain a <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstToc.html#GstTocEntry-struct"><span class="type">GstTocEntry</span></a> for
each track, with information about each track. The duration for each
track can be retrieved via the <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GST-TAG-DURATION:CAPS"><span class="type">GST_TAG_DURATION</span></a> tag from each entry's
tag list, or calculated via <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstToc.html#gst-toc-entry-get-start-stop-times"><code class="function">gst_toc_entry_get_start_stop_times()</code></a>.
The track entries in the TOC will be sorted by track number.
</p>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiocdsrc.functions_details"></a><h2>Functions</h2>
<div class="refsect2">
<a name="gst-audio-cd-src-add-track"></a><h3>gst_audio_cd_src_add_track ()</h3>
<pre class="programlisting"><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>
gst_audio_cd_src_add_track (<em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrc"><span class="type">GstAudioCdSrc</span></a> *src</code></em>,
                            <em class="parameter"><code><a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcTrack" title="struct GstAudioCdSrcTrack"><span class="type">GstAudioCdSrcTrack</span></a> *track</code></em>);</pre>
<p>CDDA sources use this function from their start vfunc to announce the
available data and audio tracks to the base source class. The caller
should allocate <em class="parameter"><code>track</code></em>
 on the stack, the base source will do a shallow
copy of the structure (and take ownership of the taglist if there is one).</p>
<div class="refsect3">
<a name="gst-audio-cd-src-add-track.parameters"></a><h4>Parameters</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="150px" class="parameters_name">
<col class="parameters_description">
<col width="200px" class="parameters_annotations">
</colgroup>
<tbody>
<tr>
<td class="parameter_name"><p>src</p></td>
<td class="parameter_description"><p>a <a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrc"><span class="type">GstAudioCdSrc</span></a></p></td>
<td class="parameter_annotations"> </td>
</tr>
<tr>
<td class="parameter_name"><p>track</p></td>
<td class="parameter_description"><p>address of <a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcTrack" title="struct GstAudioCdSrcTrack"><span class="type">GstAudioCdSrcTrack</span></a> to add</p></td>
<td class="parameter_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
<div class="refsect3">
<a name="gst-audio-cd-src-add-track.returns"></a><h4>Returns</h4>
<p> FALSE on error, otherwise TRUE.</p>
</div>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiocdsrc.other_details"></a><h2>Types and Values</h2>
<div class="refsect2">
<a name="GstAudioCdSrc-struct"></a><h3>struct GstAudioCdSrc</h3>
<pre class="programlisting">struct GstAudioCdSrc;</pre>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioCdSrcClass"></a><h3>struct GstAudioCdSrcClass</h3>
<pre class="programlisting">struct GstAudioCdSrcClass {
  GstPushSrcClass pushsrc_class;

  /* open/close the CD device */
  gboolean    (*open)               (GstAudioCdSrc *src, const gchar *device);
  void        (*close)              (GstAudioCdSrc *src);

  /* read one sector (LBA) */
  GstBuffer * (*read_sector)        (GstAudioCdSrc *src, gint sector);

#if 0
  /* return default device or NULL (optional) */
  gchar *     (*get_default_device) (GstAudioCdSrc *src);

  /* return NULL-terminated string array of CD devices, or NULL (optional) */
  /* FIXME 0.11: reconsider for new probing/device discovery API, remove if in doubt */
  gchar **    (*probe_devices)      (GstAudioCdSrc *src);
#endif
};
</pre>
<p>Audio CD source base class.</p>
<div class="refsect3">
<a name="GstAudioCdSrcClass.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-libs-1.0GstPushSrc.html#GstPushSrcClass"><span class="type">GstPushSrcClass</span></a> <em class="structfield"><code><a name="GstAudioCdSrcClass.pushsrc-class"></a>pushsrc_class</code></em>;</p></td>
<td class="struct_member_description"><p>the parent class</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioCdSrcClass.open"></a>open</code></em> ()</p></td>
<td class="struct_member_description"><p>opening the device</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioCdSrcClass.close"></a>close</code></em> ()</p></td>
<td class="struct_member_description"><p>closing the device</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioCdSrcClass.read-sector"></a>read_sector</code></em> ()</p></td>
<td class="struct_member_description"><p>reading a sector</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioCdSrcClass.get-default-device"></a>get_default_device</code></em> ()</p></td>
<td class="struct_member_description"><p>getting the default device</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><em class="structfield"><code><a name="GstAudioCdSrcClass.probe-devices"></a>probe_devices</code></em> ()</p></td>
<td class="struct_member_description"><p>probing possible devices</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioCdSrcTrack"></a><h3>struct GstAudioCdSrcTrack</h3>
<pre class="programlisting">struct GstAudioCdSrcTrack {
  gboolean     is_audio;      /* TRUE if this is an audio track             */
  guint        num;           /* real track number (usually starts from 1)  */
  guint        start;         /* first sector of track (LBA, not LSN!)      */
  guint        end;           /* last sector of track  (LBA, not LSN!)      */
  GstTagList  *tags;          /* NULL or tags for track (e.g. from cd-text) */
};
</pre>
<p>CD track abstraction to communicate TOC entries to the base class.</p>
<p>This structure is only for use by sub-classed in connection with
<a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#gst-audio-cd-src-add-track" title="gst_audio_cd_src_add_track ()"><code class="function">gst_audio_cd_src_add_track()</code></a>.</p>
<p>Applications will be informed of the available tracks via a TOC message
on the pipeline's <a href="/usr/share/gtk-doc/html/gstreamer-1.0GstBus.html#GstBus-struct"><span class="type">GstBus</span></a> instead.</p>
<div class="refsect3">
<a name="GstAudioCdSrcTrack.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="struct_members_name">
<col class="struct_members_description">
<col width="200px" class="struct_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> <em class="structfield"><code><a name="GstAudioCdSrcTrack.is-audio"></a>is_audio</code></em>;</p></td>
<td class="struct_member_description"><p>Whether this is an audio track</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstAudioCdSrcTrack.num"></a>num</code></em>;</p></td>
<td class="struct_member_description"><p>Track number in TOC (usually starts from 1, but not always)</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstAudioCdSrcTrack.start"></a>start</code></em>;</p></td>
<td class="struct_member_description"><p>The first sector of this track (LBA)</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a> <em class="structfield"><code><a name="GstAudioCdSrcTrack.end"></a>end</code></em>;</p></td>
<td class="struct_member_description"><p>The last sector of this track (LBA)</p></td>
<td class="struct_member_annotations"> </td>
</tr>
<tr>
<td class="struct_member_name"><p><a href="/usr/share/gtk-doc/html/gstreamer-1.0GstTagList.html#GstTagList-struct"><span class="type">GstTagList</span></a> *<em class="structfield"><code><a name="GstAudioCdSrcTrack.tags"></a>tags</code></em>;</p></td>
<td class="struct_member_description"><p>Track-specific tags (e.g. from cd-text information), or NULL</p></td>
<td class="struct_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioCdSrcMode"></a><h3>enum GstAudioCdSrcMode</h3>
<p>Mode in which the CD audio source operates. Influences timestamping,
EOS handling and seeking.</p>
<div class="refsect3">
<a name="GstAudioCdSrcMode.members"></a><h4>Members</h4>
<div class="informaltable"><table class="informaltable" width="100%" border="0">
<colgroup>
<col width="300px" class="enum_members_name">
<col class="enum_members_description">
<col width="200px" class="enum_members_annotations">
</colgroup>
<tbody>
<tr>
<td class="enum_member_name"><p><a name="GST-AUDIO-CD-SRC-MODE-NORMAL:CAPS"></a>GST_AUDIO_CD_SRC_MODE_NORMAL</p></td>
<td class="enum_member_description">
<p>each single track is a stream</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
<tr>
<td class="enum_member_name"><p><a name="GST-AUDIO-CD-SRC-MODE-CONTINUOUS:CAPS"></a>GST_AUDIO_CD_SRC_MODE_CONTINUOUS</p></td>
<td class="enum_member_description">
<p>the entire disc is a single stream</p>
</td>
<td class="enum_member_annotations"> </td>
</tr>
</tbody>
</table></div>
</div>
</div>
</div>
<div class="refsect1">
<a name="gst-plugins-base-libs-gstaudiocdsrc.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GstAudioCdSrc--device"></a><h3>The <code class="literal">“device”</code> property</h3>
<pre class="programlisting">  “device”                   <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *</pre>
<p>CD device location.</p>
<p>Flags: Read / Write</p>
<p>Default value: NULL</p>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioCdSrc--mode"></a><h3>The <code class="literal">“mode”</code> property</h3>
<pre class="programlisting">  “mode”                     <a class="link" href="gst-plugins-base-libs-gstaudiocdsrc.html#GstAudioCdSrcMode" title="enum GstAudioCdSrcMode"><span class="type">GstAudioCdSrcMode</span></a></pre>
<p>Mode.</p>
<p>Flags: Read / Write</p>
<p>Default value: Stream consists of a single track</p>
</div>
<hr>
<div class="refsect2">
<a name="GstAudioCdSrc--track"></a><h3>The <code class="literal">“track”</code> property</h3>
<pre class="programlisting">  “track”                    <a href="/usr/share/gtk-doc/html/glibglib-Basic-Types.html#guint"><span class="type">guint</span></a></pre>
<p>Track.</p>
<p>Flags: Read / Write</p>
<p>Allowed values: [1,99]</p>
<p>Default value: 1</p>
</div>
</div>
</div>
<div class="footer">
<hr>Generated by GTK-Doc V1.25</div>
</body>
</html>