Factory Details:
  Long name:	Alsa Sink
  Class:	Sink/Audio
  Description:	Output to a sound card via ALSA
  Author(s):	Thomas Nyberg <thomas@codefactory.se>, Andy Wingo <apwingo@eos.ncsu.edu>, Benjamin Otte <in7y118@public.uni-hamburg.de>
  Rank:		none

GObject
 +----GstObject
       +----GstElement
             +----GstAlsa
                   +----GstAlsaSink

Pad Templates:
  SINK template: 'sink'
    Availability: Always
    Capabilities:
      audio/x-raw-int
        width=(int)8
        depth=(int)8
        signed=(boolean)true
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)8
        depth=(int)8
        signed=(boolean)false
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)16
        depth=(int)16
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)16
        depth=(int)16
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)16
        depth=(int)16
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)16
        depth=(int)16
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)32
        depth=(int)24
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)32
        depth=(int)24
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)32
        depth=(int)24
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)32
        depth=(int)24
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)32
        depth=(int)32
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)32
        depth=(int)32
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)32
        depth=(int)32
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)32
        depth=(int)32
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-float
        width=(int)32
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-float
        width=(int)64
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-mulaw
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-alaw
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)24
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)24
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)24
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)24
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)20
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)20
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)20
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)20
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)18
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)18
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)18
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]
      audio/x-raw-int
        width=(int)24
        depth=(int)18
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)[ 1
        32 ]

  SINK template: 'sink%d'
    Availability: On request
      Has request_new_pad() function: gst_alsa_request_new_pad
    Capabilities:
      audio/x-raw-int
        width=(int)8
        depth=(int)8
        signed=(boolean)true
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)8
        depth=(int)8
        signed=(boolean)false
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)16
        depth=(int)16
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)16
        depth=(int)16
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)16
        depth=(int)16
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)16
        depth=(int)16
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)32
        depth=(int)24
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)32
        depth=(int)24
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)32
        depth=(int)24
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)32
        depth=(int)24
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)32
        depth=(int)32
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)32
        depth=(int)32
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)32
        depth=(int)32
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)32
        depth=(int)32
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-float
        width=(int)32
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-float
        width=(int)64
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-mulaw
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-alaw
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)24
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)24
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)24
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)24
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)20
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)20
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)20
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)20
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)18
        signed=(boolean)true
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)18
        signed=(boolean)true
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)18
        signed=(boolean)false
        endianness=(int)1234
        rate=(int)[ 8000
        192000 ]
        channels=(int)1
      audio/x-raw-int
        width=(int)24
        depth=(int)18
        signed=(boolean)false
        endianness=(int)4321
        rate=(int)[ 8000
        192000 ]
        channels=(int)1


Element Flags:
  GST_ELEMENT_THREADSUGGESTED
  GST_ELEMENT_EVENT_AWARE

Element Implementation:
  loopfunc()-based element: 0x4022dfdc
  Has change_state() function: 0x4022e850
  Has custom save_thyself() function: gst_element_save_thyself
  Has custom restore_thyself() function: gst_element_restore_thyself

Clocking Interaction:
  element requires a clock
  element provides a clock: alsasinkclock

Indexing capabilities:
  none

Pads:
  SINK: 'sink'
    Implementation:
    Pad Template: 'sink'

Element Properties:
  name                : The name of the object
                        String. (Default "element")
  device              : ALSA device, as defined in an asoundrc
                        String. (Default "default")
  device-name         : Name of the device
                        String. (Default "")
  period-count        : Number of hardware buffers to use
                        Integer. Range: 2 - 64 (Default 2)
  period-size         : Number of frames (samples on each channel) in one hardware period
                        Integer. Range: 2 - 8192 (Default 8192)
  buffer-size         : Number of frames the hardware buffer can hold
                        Integer. Range: 4 - 65536 (Default 16384)
  autorecover         : When TRUE tries to reduce processor load on xruns
                        Boolean. (Default true)
  mmap                : Wether to use mmap (faster) or standard read/write (more compatible)
                        Boolean. (Default true)
  max-discont         : GStreamer timeunits before the timestamp syncing starts dropping/inserting samples
                        Unsigned Integer64. Range: 1000 - 1000000000 (Default 100000000)

Dynamic Parameters:
  none

Element Signals:
  "state-change" :	 void user_function (GstElement* object,
    				gint arg0,
    				gint arg1,
    				gpointer user_data);
  "new-pad" :	 void user_function (GstElement* object,
    				GObject arg0,
    				gpointer user_data);
  "pad-removed" :	 void user_function (GstElement* object,
    				GObject arg0,
    				gpointer user_data);
  "error" :	 void user_function (GstElement* object,
    				GstElement arg0,
    				GstGError arg1,
    				gchararray arg2,
    				gpointer user_data);
  "eos" :	 void user_function (GstElement* object,
    				gpointer user_data);
  "found-tag" :	 void user_function (GstElement* object,
    				GstElement arg0,
    				GstTagList arg1,
    				gpointer user_data);
  "parent-set" :	 void user_function (GstObject* object,
    				GObject arg0,
    				gpointer user_data);
  "parent-unset" :	 void user_function (GstObject* object,
    				GObject arg0,
    				gpointer user_data);
  "object-saved" :	 void user_function (GstObject* object,
    				gpointer arg0,
    				gpointer user_data);
  "deep-notify" :	 void user_function (GstObject* object,
    				GObject arg0,
    				GParam arg1,
    				gpointer user_data);
  "notify" :	 void user_function (GObject* object,
    				GParam arg0,
    				gpointer user_data);

Element Actions:
  none
