## audioiirfilter

audioiirfilter — Generic audio IIR filter with custom filter kernel

## Properties

GValueArray * | a | Read / Write
GValueArray * | b | Read / Write

## Signals

void | rate-changed | Run Last

## Types and Values

struct | GstAudioIIRFilter

## Object Hierarchy

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

## Description

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

    <xi:include xmlns:xi="http://www.w3.org/2003/XInclude" parse="text" href="../../../../tests/examples/audiofx/iirfilter-example.c" />

## Synopsis

### Element Information

plugin | audiofx
author | Sebastian Dröge <sebastian.droege@collabora.co.uk>
class | Filter/Effect/Audio

### Element Pads

name | sink
direction | sink
presence | always
details | audio/x-raw, format=(string){ F32LE, F64LE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved

name | src
direction | source
presence | always
details | audio/x-raw, format=(string){ F32LE, F64LE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string)interleaved

## Functions

## Types and Values

### struct GstAudioIIRFilter

    struct GstAudioIIRFilter;

Opaque data structure.

## Property Details

### The `“a”` property

      “a”                        GValueArray *

Filter coefficients (denominator of transfer function).

Flags: Read / Write

### The `“b”` property

      “b”                        GValueArray *

Filter coefficients (numerator of transfer function).

Flags: Read / Write

## Signal Details

### The `“rate-changed”` signal

    void
    user_function (GstAudioIIRFilter *filter,
                   gint               rate,
                   gpointer           user_data)

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 |
user_data | user data set when the signal handler was connected. |

Flags: Run Last