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

struct vlc_common_members obj
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 *, 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.

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
es_format_t filter_t::fmt_in
es_format_t filter_t::fmt_out
struct vlc_common_members filter_t::obj

Referenced by aout_filter_RequestVout().

filter_owner_t filter_t::owner
config_chain_t* filter_t::p_cfg
module_t* filter_t::p_module
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(), and CreateFilter().

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

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