Subpicture Unit

This module describes the programming interface for the subpicture unit. More...

Data Structures

struct  spu_t
 Subpicture unit descriptor. More...

Defines

#define DEFAULT_CHAN   1
#define spu_Create(a)   __spu_Create(VLC_OBJECT(a))

Typedefs

typedef struct spu_private_t spu_private_t

Enumerations

enum  spu_query_e { SPU_CHANNEL_REGISTER, SPU_CHANNEL_CLEAR }

Functions

static int spu_vaControl (spu_t *p_spu, int i_query, va_list args)
static int spu_Control (spu_t *p_spu, int i_query,...)
spu_t__spu_Create (vlc_object_t *)
 Creates the subpicture unit.
int spu_Init (spu_t *)
 Initialise the subpicture unit.
void spu_Destroy (spu_t *)
 Destroy the subpicture unit.
void spu_Attach (spu_t *, vlc_object_t *, bool)
 Attach/Detach the SPU from any input.
void spu_DisplaySubpicture (spu_t *, subpicture_t *)
 This function sends a subpicture to the spu_t core.
subpicture_tspu_SortSubpictures (spu_t *, mtime_t render_subtitle_date, bool b_subtitle_only)
 This function asks the spu_t core a list of subpictures to display.
void spu_RenderSubpictures (spu_t *, picture_t *, const video_format_t *p_fmt_dst, subpicture_t *p_list, const video_format_t *p_fmt_src, mtime_t render_subtitle_date)
 This function renders a list of subpicture_t on the provided picture.

Detailed Description

This module describes the programming interface for the subpicture unit.

It includes functions allowing to create/destroy an spu, create/destroy subpictures and render them.


Define Documentation

#define DEFAULT_CHAN   1

#define spu_Create (  )     __spu_Create(VLC_OBJECT(a))


Typedef Documentation

typedef struct spu_private_t spu_private_t


Enumeration Type Documentation

Enumerator:
SPU_CHANNEL_REGISTER 
SPU_CHANNEL_CLEAR 


Function Documentation

spu_t* __spu_Create ( vlc_object_t p_this  ) 

void spu_Attach ( spu_t p_spu,
vlc_object_t p_this,
bool  b_attach 
)

Attach/Detach the SPU from any input.

Parameters:
p_this the object in which to destroy the subpicture unit
b_attach to select attach or detach

References CropCallback(), FIND_PARENT, UpdateSPU(), var_AddCallback, var_DelCallback, VLC_OBJECT, vlc_object_find, VLC_OBJECT_INPUT, and vlc_object_release.

Referenced by __vout_Create(), __vout_Request(), and EndThread().

static int spu_Control ( spu_t p_spu,
int  i_query,
  ... 
) [inline, static]

void spu_Destroy ( spu_t p_spu  ) 

void spu_DisplaySubpicture ( spu_t p_spu,
subpicture_t p_subpic 
)

This function sends a subpicture to the spu_t core.

You cannot use the provided subpicture anymore. The spu_t core will destroy it at its convenience.

This function sends a subpicture to the spu_t core.

Remove the reservation flag of a subpicture, which will cause it to be ready for display.

Parameters:
p_spu the subpicture unit object
p_subpic the subpicture to display

References DEFAULT_CHAN, spu_private_t::heap, subpicture_t::i_channel, spu_private_t::lock, msg_Err, spu_t::p, subpicture_region_t::p_next, subpicture_t::p_region, p_sys, SpuClearChannel(), SpuHeapPush(), subpicture_Delete(), vlc_mutex_lock(), and vlc_mutex_unlock().

Referenced by DecoderPlaySpu(), filter_chain_SubFilter(), osd_Icon(), osd_ShowTextAbsolute(), osd_Slider(), transcode_spu_process(), vout_ShowTextAbsolute(), and VoutSnapshotPip().

int spu_Init ( spu_t p_spu  ) 

Initialise the subpicture unit.

Parameters:
p_spu the subpicture unit object

References spu_private_t::i_margin, spu_t::p, p_sys, SubFilterCallback(), var_AddCallback, var_Create, var_CreateGetInteger, var_TriggerCallback, VLC_SUCCESS, VLC_VAR_DOINHERIT, and VLC_VAR_STRING.

Referenced by __vout_Create(), and transcode_osd_process().

void spu_RenderSubpictures ( spu_t p_spu,
picture_t p_pic_dst,
const video_format_t p_fmt_dst,
subpicture_t p_subpic_list,
const video_format_t p_fmt_src,
mtime_t  render_subtitle_date 
)

subpicture_t* spu_SortSubpictures ( spu_t ,
mtime_t  render_subtitle_date,
bool  b_subtitle_only 
)

static int spu_vaControl ( spu_t p_spu,
int  i_query,
va_list  args 
) [inline, static]


Generated on Sun Nov 22 08:06:05 2009 for VLC by  doxygen 1.5.6