| GStreamer Ugly Plugins 0.10 Plugins Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Properties | ||||
MP3 audio decoder.
gst-launch filesrc location=music.mp3 ! mad ! audioconvert ! audioresample ! autoaudiosink
name |
sink |
direction |
sink |
presence |
always |
details |
audio/mpeg, mpegversion=(int)1, layer=(int)[ 1, 3 ], rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ] |
name |
src |
direction |
source |
presence |
always |
details |
audio/x-raw-int, endianness=(int)1234, signed=(boolean)true, width=(int)32, depth=(int)32, rate=(int){ 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000 }, channels=(int)[ 1, 2 ] |
struct GstMad {
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 */
GstIndex *index;
gint index_id;
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;
};