## GstFilter GstFilter — Take data in and spit data out |

## Synopsis

    #include <gst/gst.h>

    gboolean    (*GstFilterFunc)                (gpointer obj,
                                                 gpointer user_data);
    GList*      gst_filter_run                  (const GList *list,
                                                 GstFilterFunc func,
                                                 gboolean first,
                                                 gpointer user_data);

## Description

Filters take data in and spit data out. They are the main Element in a filter graph. Filters have zero or more inputs and zero or more outputs. Filters are linked together to form filter graphs. A GstFilter is the base class and is not very usefull on its own.

## Details

### GstFilterFunc ()

    gboolean    (*GstFilterFunc)                (gpointer obj,
                                                 gpointer user_data);

`obj` : |
`user_data` : |
Returns : |

### gst_filter_run ()

    GList*      gst_filter_run                  (const GList *list,
                                                 GstFilterFunc func,
                                                 gboolean first,
                                                 gpointer user_data);

Iterates over the elements in `list`, calling `func` with the list item data for each item. If `func` returns TRUE, `data` is prepended to the list of results returned. If `first` is true, the search is halted after the first result is found.

`list` : | a linked list
`func` : | the function to execute for each item
`first` : | flag to stop execution after a successful item
`user_data` : | user data
Returns : | the list of results