cdiocddasrc — Reads raw audio from an Audio CD




  "read-speed"           gint                  : Read / Write


cdiocddasrc reads and extracts raw audio from Audio CDs. It can operate in one of two modes:

  • treat each track as a separate stream, counting time from the start of the track to the end of the track and posting EOS at the end of a track, or

  • treat the entire disc as one stream, counting time from the start of the first track to the end of the last track, posting EOS only at the end of the last track.

With a recent-enough version of libcdio, the element will extract CD-TEXT if this is supported by the CD-drive and CD-TEXT information is available on the CD. The information will be posted on the bus in form of a tag message.

When opened, the element will also calculate a CDDB disc ID and a MusicBrainz disc ID, which applications can use to query online databases for artist/title information. These disc IDs will also be posted on the bus as part of the tag messages.

cdiocddasrc supports the GstUriHandler interface, so applications can use playbin with cdda://<track-number> URIs for playback (they will have to connect to playbin's notify::source signal and set the device on the cd source in the notify callback if they want to set the device property). Applications should use seeks in "track" format to switch between different tracks of the same CD (passing a new cdda:// URI to playbin involves opening and closing the CD device, which is much slower).

Example launch line

gst-launch cdiocddasrc track=5 device=/dev/cdrom ! audioconvert ! vorbisenc ! oggmux ! filesink location=track5.ogg

This pipeline extracts track 5 of the audio CD and encodes it into an Ogg/Vorbis file.

Element Information

plugin cdio
author Tim-Philipp Müller <tim centricular net>
class Source/File



typedef struct {
  GstCddaBaseSrc cddabasesrc;

  gint           read_speed;    /* ATOMIC */

  CdIo          *cdio;          /* NULL if not open */
} GstCdioCddaSrc;


The "read-speed" property

  "read-speed"           gint                  : Read / Write

Read from device at the specified speed (-1 = default).

Allowed values: [-1,100]

Default value: -1

See Also

GstCdParanoiaSrc, GstCddaBaseSrc