# openalsink

This element plays raw audio samples through OpenAL.

Unfortunately the capture API doesn't have a format enumeration/check. all you can do is try opening it and see if it works.

## Example pipelines

     gst-launch-1.0 audiotestsrc ! audioconvert ! volume volume=0.5 ! openalsink

will play a sine wave (continuous beep sound) through OpenAL.

     gst-launch-1.0 filesrc location=stream.wav ! decodebin ! audioconvert ! openalsink

will play a wav audio file through OpenAL.

     gst-launch-1.0 openalsrc ! "audio/x-raw,format=S16LE,rate=44100" ! audioconvert ! volume volume=0.25 ! openalsink

will capture and play audio through OpenAL.

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseSink
                        ╰──GstAudioBaseSink
                            ╰──GstAudioSink
                                ╰──openalsink

## Factory details

Authors: – Juan Manuel Borges Caño

Classification: – `Sink/Audio`

Rank – secondary

Plugin – openal

Package – GStreamer Bad Plug-ins

## Pad Templates

### `sink`

    audio/x-raw:
             format: F64LE
               rate: [ 1, 2147483647 ]
           channels: [ 1, 2 ]
    audio/x-raw:
             format: F32LE
               rate: [ 1, 2147483647 ]
           channels: [ 1, 2147483647 ]
    audio/x-raw:
             format: S16LE
               rate: [ 1, 2147483647 ]
           channels: [ 1, 2147483647 ]
    audio/x-raw:
             format: U8
               rate: [ 1, 2147483647 ]
           channels: [ 1, 2147483647 ]

Presence – always

Direction – sink

Object type – GstPad

## Properties

### device

    “device” gchararray

Human-readable name of the device

Flags : Read / Write

Default value : NULL

### device-name

    “device-name” gchararray

Human-readable name of the opened device

Flags : Read

### user-context

    “user-context” gpointer

User context

Flags : Read / Write

### user-device

    “user-device” gpointer

User device

Flags : Read / Write

### user-source

    “user-source” guint

User source

Flags : Read / Write

Default value : 0

The results of the search are