waveformsink

waveformsink

Types and Values

Description

This element lets you output sound using the Windows WaveForm API.

Note that you should almost always use generic audio conversion elements like audioconvert and audioresample in front of an audiosink to make sure your pipeline works under all circumstances (those conversion elements will act in passthrough-mode if no conversion is necessary).

Example pipelines

1
gst-launch-1.0 -v audiotestsrc ! audioconvert ! volume volume=0.1 ! waveformsink
will output a sine wave (continuous beep sound) to your sound card (with a very low volume as precaution).
1
gst-launch-1.0 -v filesrc location=music.ogg ! decodebin ! audioconvert ! audioresample ! waveformsink
will play an Ogg/Vorbis audio file and output it.

Synopsis

Element Information

plugin

waveform

author

Sebastien Moutte <sebastien@moutte.net>

class

Sink/Audio

Element Pads

Functions

Types and Values

struct GstWaveFormSink

struct GstWaveFormSink {
  /* parent object */
  GstAudioSink sink;

  /* supported caps */
  GstCaps *cached_caps;
  
  /* handle to the waveform-audio output device */
  HWAVEOUT hwaveout;
  
  /* table of buffer headers */
  WAVEHDR *wave_buffers;

  /* critical section protecting access to the number of free buffers */
  CRITICAL_SECTION critic_wave;

  /* number of free buffers available */
  guint free_buffers_count;
  
  /* current free buffer where you have to write incoming data */
  guint write_buffer;
  
  /* size of buffers streamed to the device */
  guint buffer_size;

  /* number of buffers streamed to the device */
  guint buffer_count;

  /* total of bytes in queue before they are written to the device */
  guint bytes_in_queue;

  /* bytes per sample from setcaps used to evaluate the number samples returned by delay */
  guint bytes_per_sample;

  /* wave form error string */
  gchar error_string[ERROR_LENGTH];
};