| Top |  |  |  |  | 
Monoscope is an audio visualisation element. It creates a coloured curve of the audio signal like on an oscilloscope.
| 1 | gst-launch-1.0 -v audiotestsrc ! audioconvert ! monoscope ! videoconvert ! ximagesink | 
| plugin | monoscope | 
| author | Richard Boulton <richard@tartarus.org> | 
| class | Visualization | 
| name | sink | 
| direction | sink | 
| presence | always | 
| details | audio/x-raw, format=(string)S16LE, rate=(int)[ 8000, 96000 ], channels=(int)1, layout=(string)interleaved | 
| name | src | 
| direction | source | 
| presence | always | 
| details | video/x-raw, format=(string)BGRx, width=(int)256, height=(int)128, framerate=(fraction)[ 0/1, 2147483647/1 ] | 
struct GstMonoscope {
  GstElement element;
  /* pads */
  GstPad      *sinkpad;
  GstPad      *srcpad;
  GstAdapter  *adapter;
  guint64      next_ts;             /* expected timestamp of the next frame */
  guint64      frame_duration;      /* video frame duration    */
  gint         rate;                /* sample rate             */
  guint        bps;                 /* bytes per sample        */
  guint        spf;                 /* samples per video frame */
  GstBufferPool *pool;
  GstSegment   segment;
  /* QoS stuff *//* with LOCK */
  gdouble      proportion;
  GstClockTime earliest_time;
  /* video state */
  gint         fps_num;
  gint         fps_denom;
  gint         width;
  gint         height;
  guint        outsize;
  /* visualisation state */
  struct monoscope_state *visstate;
};