VLC  3.0.0-git
Data Fields
filter_t Struct Reference

Structure describing a filter. More...

Collaboration diagram for filter_t:
Collaboration graph
[legend]

Data Fields

struct vlc_common_members obj
 
module_tp_module
 
filter_sys_tp_sys
 
es_format_t fmt_in
 
es_format_t fmt_out
 
bool b_allow_fmt_out_change
 
const char * psz_name
 
config_chain_tp_cfg
 
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,
      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 *, struct
      vlc_mouse_t *, const struct
      vlc_mouse_t *p_old, const
      struct vlc_mouse_t *p_new)
 Filter mouse state (video filter). More...
 
   int(*   pf_sub_mouse )(filter_t *, const struct
      vlc_mouse_t *p_old, const
      struct vlc_mouse_t *p_new,
      const video_format_t *)
 
}; 
 
int(* pf_get_attachments )(filter_t *, input_attachment_t ***, int *)
 
filter_owner_t owner
 

Detailed Description

Structure describing a filter.

Warning
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

◆ @177

union { ... }

◆ @179

union { ... }

◆ @181

union { ... }

◆ b_allow_fmt_out_change

bool filter_t::b_allow_fmt_out_change

◆ fmt_in

es_format_t filter_t::fmt_in

◆ fmt_out

es_format_t filter_t::fmt_out

◆ obj

struct vlc_common_members filter_t::obj

Referenced by aout_filter_RequestVout().

◆ owner

filter_owner_t filter_t::owner

◆ p_cfg

config_chain_t* filter_t::p_cfg

◆ p_module

module_t* filter_t::p_module

◆ p_sys

filter_sys_t* filter_t::p_sys

◆ pf_audio_drain

block_t*(* filter_t::pf_audio_drain) (filter_t *)

Drain (audio filter)

Referenced by filter_DrainAudio().

◆ pf_audio_filter

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

Filter an audio block (audio filter)

Referenced by aout_FiltersPipelinePlay(), and CreateFilter().

◆ pf_flush

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

Flush.

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

Referenced by filter_Flush().

◆ pf_get_attachments

int(* filter_t::pf_get_attachments) (filter_t *, input_attachment_t ***, int *)

◆ pf_render

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

Render text (text render)

Referenced by SpuRenderText().

◆ pf_sub_filter

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

Filter a subpicture (sub filter)

Referenced by filter_chain_SubFilter().

◆ pf_sub_mouse

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

Referenced by filter_chain_MouseEvent().

◆ pf_sub_source

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

Generate a subpicture (sub source)

Referenced by filter_chain_SubSource().

◆ pf_video_blend

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().

◆ pf_video_filter

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

Filter a picture (video filter)

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

◆ pf_video_mouse

int(* filter_t::pf_video_mouse) (filter_t *, struct vlc_mouse_t *, const struct vlc_mouse_t *p_old, const struct 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().

◆ psz_name

const char* filter_t::psz_name

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