mad

mad — Uses mad code to decode mp3 streams

Synopsis

                    GstMad;

Properties

  "half"                     gboolean              : Read / Write
  "ignore-crc"               gboolean              : Read / Write

Description

MP3 audio decoder.

Example pipelines

gst-launch filesrc location=music.mp3 ! mad ! audioconvert ! audioresample ! autoaudiosink
Decode the mp3 file and play

Details

GstMad

typedef struct {
  GstElement element;

  /* pads */
  GstPad *sinkpad, *srcpad;

  /* state */
  struct mad_stream stream;
  struct mad_frame frame;
  struct mad_synth synth;
  guchar *tempbuffer;           /* temporary buffer to serve to mad */
  glong tempsize;               /* running count of temp buffer size */
  GstClockTime last_ts;
  guint64 base_byte_offset;
  guint64 bytes_consumed;       /* since the base_byte_offset */
  guint64 total_samples;        /* the number of samples since the sync point */

  gboolean in_error;            /* set when mad's in an error state */
  gboolean restart;
  gboolean discont;
  guint64 segment_start;
  GstSegment segment;
  gboolean need_newsegment;

  /* info */
  struct mad_header header;
  gboolean new_header;
  guint framecount;
  gint vbr_average;             /* average bitrate */
  guint64 vbr_rate;             /* average * framecount */

  gboolean half;
  gboolean ignore_crc;

  GstTagList *tags;

  /* negotiated format */
  gint rate, pending_rate;
  gint channels, pending_channels;
  gint times_pending;

  gboolean caps_set;            /* used to keep track of whether to change/update caps */
#ifndef GST_DISABLE_INDEX
  GstIndex *index;
  gint index_id;
#endif

  gboolean check_for_xing;
  gboolean xing_found;

  gboolean framed;              /* whether there is a demuxer in front of us */

  GList *pending_events;

  /* reverse playback */
  GList *decode;
  GList *gather;
  GList *queued;
  gboolean process;
} GstMad;

Property Details

The "half" property

  "half"                     gboolean              : Read / Write

Generate PCM at 1/2 sample rate.

Default value: FALSE


The "ignore-crc" property

  "ignore-crc"               gboolean              : Read / Write

Ignore CRC errors.

Default value: TRUE

See Also

lame