VLC  3.0.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
Data Fields
filter_t Struct Reference

Structure describing a filter. More...

Collaboration diagram for filter_t:
Collaboration graph

Data Fields

es_format_t fmt_in
es_format_t fmt_out
bool b_allow_fmt_out_change
union {
   picture_t *(*   pf_video_filter )(filter_t *, picture_t *)
 Filter a picture (video filter) More...
   block_t *(*   pf_audio_filter )(filter_t *, block_t *)
 Filter an audio block (audio filter) More...
   void(*   pf_video_blend )(filter_t *, picture_t
      *, const picture_t *, int, int,
 Blend a subpicture onto a picture (blend) More...
   subpicture_t *(*   pf_sub_source )(filter_t *, mtime_t)
 Generate a subpicture (sub source) More...
   subpicture_t *(*   pf_sub_filter )(filter_t *, subpicture_t *)
 Filter a subpicture (sub filter) More...
   int(*   pf_render )(filter_t
      *, subpicture_region_t
      *, subpicture_region_t
      *, const vlc_fourcc_t *)
 Render text (text render) More...
union {
   block_t *(*   pf_audio_drain )(filter_t *)
 Drain (audio filter) More...
void(* pf_flush )(filter_t *)
 Flush. More...
union {
   int(*   pf_video_mouse )(filter_t *, vlc_mouse_t
      *, const vlc_mouse_t *p_old,
      const vlc_mouse_t *p_new)
 Filter mouse state (video filter). More...
   int(*   pf_sub_mouse )(filter_t *, const
      vlc_mouse_t *p_old, const
      vlc_mouse_t *p_new, const
      video_format_t *)
int(* pf_get_attachments )(filter_t *, input_attachment_t ***, int *)
filter_owner_t owner
VLC_COMMON_MEMBERS \ * these members are common for all vlc objects \
const char * psz_object_type
char * psz_header
int i_flags
bool b_force
 set by the outside (eg. More...
 (root of all evil) - 1 More...
 our parent More...

Detailed Description

Structure describing a filter.

BIG FAT WARNING : the code relies on the first 4 members of filter_t and decoder_t to be the same, so if you have anything to add, do it at the end of the structure.

Field Documentation

union { ... }
union { ... }
union { ... }
bool filter_t::b_allow_fmt_out_change
bool filter_t::b_force

set by the outside (eg.


es_format_t filter_t::fmt_in
es_format_t filter_t::fmt_out
int filter_t::i_flags
filter_owner_t filter_t::owner
config_chain_t* filter_t::p_cfg
libvlc_int_t* filter_t::p_libvlc

(root of all evil) - 1

module_t* filter_t::p_module
vlc_object_t* filter_t::p_parent

our parent

Referenced by aout_filter_RequestVout().

filter_sys_t* filter_t::p_sys
block_t*(* filter_t::pf_audio_drain)(filter_t *)

Drain (audio filter)

Referenced by filter_DrainAudio().

block_t*(* filter_t::pf_audio_filter)(filter_t *, block_t *)

Filter an audio block (audio filter)

Referenced by aout_FiltersPipelinePlay(), CreateFilter(), and filter_chain_AudioFilter().

void(* filter_t::pf_flush)(filter_t *)


Flush (i.e. discard) any internal buffer in a video or audio filter.

Referenced by filter_Flush().

int(* filter_t::pf_get_attachments)(filter_t *, input_attachment_t ***, int *)
int(* filter_t::pf_render)(filter_t *, subpicture_region_t *, subpicture_region_t *, const vlc_fourcc_t *)

Render text (text render)

Referenced by SpuRenderText().

subpicture_t*(* filter_t::pf_sub_filter)(filter_t *, subpicture_t *)

Filter a subpicture (sub filter)

Referenced by filter_chain_SubFilter().

int(* filter_t::pf_sub_mouse)(filter_t *, const vlc_mouse_t *p_old, const vlc_mouse_t *p_new, const video_format_t *)

Referenced by filter_chain_MouseEvent().

subpicture_t*(* filter_t::pf_sub_source)(filter_t *, mtime_t)

Generate a subpicture (sub source)

Referenced by filter_chain_SubSource().

void(* filter_t::pf_video_blend)(filter_t *, picture_t *, const picture_t *, int, int, int)

Blend a subpicture onto a picture (blend)

Referenced by filter_Blend().

picture_t*(* filter_t::pf_video_filter)(filter_t *, picture_t *)

Filter a picture (video filter)

Referenced by FilterChainVideoFilter(), ImageConvert(), ImageRead(), ImageWrite(), and SpuRenderRegion().

int(* filter_t::pf_video_mouse)(filter_t *, vlc_mouse_t *, const vlc_mouse_t *p_old, const vlc_mouse_t *p_new)

Filter mouse state (video filter).

If non-NULL, you must convert from output to input formats:

  • If VLC_SUCCESS is returned, the mouse state is propagated.
  • Otherwise, the mouse change is not propagated. If NULL, the mouse state is considered unchanged and will be propagated.

Referenced by filter_chain_MouseFilter().

char* filter_t::psz_header
const char* filter_t::psz_object_type

The documentation for this struct was generated from the following file: