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-1.0 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.



Implemented interfaces

Factory details

Authors: – Tim-Philipp Müller


Rank – secondary - 1

Plugin – cdio

Package – GStreamer Ugly Plug-ins

Pad Templates


         format: S16LE
         layout: interleaved
           rate: 44100
       channels: 2



Object typeGstPad



“read-speed” gint

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

Flags : Read / Write

Default value : -1

The results of the search are