# audioiirfilter

audioiirfilter implements a generic audio IIR filter. Before usage the "a" and "b" properties have to be set to the filter coefficients that should be used.

The filter coefficients describe the numerator and denominator of the transfer function.

To change the filter coefficients whenever the sampling rate changes the "rate-changed" signal can be used. This should be done for most IIR filters as they're depending on the sampling rate.

## Example application

]|

## Hierarchy

    GObject
        ╰──GInitiallyUnowned
            ╰──GstObject
                ╰──GstElement
                    ╰──GstBaseTransform
                        ╰──GstAudioFilter
                            ╰──GstAudioFXBaseIIRFilter
                                ╰──audioiirfilter

## Factory details

Authors: – Sebastian Dröge <sebastian.droege></sebastian.droege>

Classification: – `Filter/Effect/Audio`

Rank – none

Plugin – audiofx

Package – GStreamer Good Plug-ins

## Pad Templates

### `sink`

    audio/x-raw:
             format: { F32LE, F64LE }
               rate: [ 1, 2147483647 ]
           channels: [ 1, 2147483647 ]
             layout: interleaved

Presence – always

Direction – sink

Object type – GstPad

### `src`

    audio/x-raw:
             format: { F32LE, F64LE }
               rate: [ 1, 2147483647 ]
           channels: [ 1, 2147483647 ]
             layout: interleaved

Presence – always

Direction – src

Object type – GstPad

## Signals

### rate-changed

    rate_changed_callback (GstElement * filter,
                           gint rate,
                           gpointer udata)

    def rate_changed_callback (filter, rate, udata):
        #python callback for the 'rate-changed' signal

    function rate_changed_callback(filter: GstElement * filter, rate: gint rate, udata: gpointer udata): {
        // javascript callback for the 'rate-changed' signal
    }

Will be emitted when the sampling rate changes. The callbacks will be called from the streaming thread and processing will stop until the event is handled.

Parameters:

`filter` –

the filter on which the signal is emitted

`rate` –

the new sampling rate

`udata` –
No description available

Flags: Run Last

## Properties

### a

    “a” GValueArray *

Filter coefficients (denominator of transfer function)

Flags : Read / Write

### b

    “b” GValueArray *

Filter coefficients (numerator of transfer function)

Flags : Read / Write

The results of the search are