|
VLC
2.1.0-git
|
This module describes the programming interface for the subpicture unit. More...
Data Structures | |
| struct | spu_t |
| Subpicture unit descriptor. More... | |
Macros | |
| #define | SPU_DEFAULT_CHANNEL (1) |
| #define | spu_Create(a) spu_Create(VLC_OBJECT(a)) |
Typedefs | |
| typedef struct spu_private_t | spu_private_t |
Functions | |
| spu_t * | spu_Create (vlc_object_t *) |
| void | spu_Destroy (spu_t *) |
| Destroy the subpicture unit. | |
| void | spu_PutSubpicture (spu_t *, subpicture_t *) |
| This function sends a subpicture to the spu_t core. | |
| subpicture_t * | spu_Render (spu_t *, const vlc_fourcc_t *p_chroma_list, const video_format_t *p_fmt_dst, const video_format_t *p_fmt_src, mtime_t render_subtitle_date, mtime_t render_osd_date, bool ignore_osd) |
| This function will return an unique subpicture containing the OSD and subtitles visibles at the requested date. | |
| int | spu_RegisterChannel (spu_t *) |
| It registers a new SPU channel. | |
| void | spu_ClearChannel (spu_t *, int) |
| It clears all subpictures associated to a SPU channel. | |
| void | spu_ChangeSources (spu_t *, const char *) |
| It changes the sub sources list. | |
| void | spu_ChangeFilters (spu_t *, const char *) |
| It changes the sub filters list. | |
This module describes the programming interface for the subpicture unit.
It includes functions allowing to create/destroy an spu, and render subpictures.
| #define spu_Create | ( | a | ) | spu_Create(VLC_OBJECT(a)) |
Referenced by VoutCreate().
| #define SPU_DEFAULT_CHANNEL (1) |
| typedef struct spu_private_t spu_private_t |
| void spu_ChangeFilters | ( | spu_t * | , |
| const char * | |||
| ) |
It changes the sub filters list.
References spu_private_t::filter_chain_update, spu_private_t::lock, spu_t::p, strdup(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by ThreadChangeSubFilters().
| void spu_ChangeSources | ( | spu_t * | , |
| const char * | |||
| ) |
It changes the sub sources list.
References spu_private_t::lock, spu_t::p, spu_private_t::source_chain_update, strdup(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by ThreadChangeSubSources().
| void spu_ClearChannel | ( | spu_t * | , |
| int | |||
| ) |
It clears all subpictures associated to a SPU channel.
References spu_heap_t::entry, spu_private_t::heap, subpicture_t::i_channel, spu_private_t::lock, spu_t::p, spu_heap_entry_t::reject, SPU_DEFAULT_CHANNEL, spu_heap_entry_t::subpicture, vlc_mutex_lock(), vlc_mutex_unlock(), and VOUT_MAX_SUBPICTURES.
Referenced by spu_PutSubpicture(), SubSourceAllocationClean(), and ThreadFlushSubpicture().
| spu_t* spu_Create | ( | vlc_object_t * | ) |
| void spu_Destroy | ( | spu_t * | spu | ) |
Destroy the subpicture unit.
| p_this | the parent object which destroys the subpicture unit |
References spu_private_t::filter_chain, filter_chain_Delete(), spu_private_t::filter_chain_lock, spu_private_t::filter_chain_update, FilterRelease(), spu_private_t::heap, spu_private_t::lock, spu_t::p, spu_private_t::scale, spu_private_t::scale_yuvp, spu_private_t::source_chain, spu_private_t::source_chain_lock, spu_private_t::source_chain_update, SpuHeapClean(), spu_private_t::text, vlc_mutex_destroy(), and vlc_object_release.
Referenced by vout_Close(), and VoutCreate().
| void spu_PutSubpicture | ( | spu_t * | spu, |
| subpicture_t * | 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.
| spu | the subpicture unit object |
| subpic | the subpicture to display |
References spu_private_t::filter_chain, filter_chain_AppendFromString(), filter_chain_GetLength(), spu_private_t::filter_chain_lock, filter_chain_Reset(), filter_chain_SubFilter(), spu_private_t::filter_chain_update, 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, spu_private_t::source_chain_update, spu_ClearChannel(), SPU_DEFAULT_CHANNEL, SpuHeapPush(), subpicture_Delete(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by filter_chain_SubSource(), and ThreadDisplaySubpicture().
| int spu_RegisterChannel | ( | spu_t * | ) |
It registers a new SPU channel.
References spu_private_t::channel, spu_private_t::lock, spu_t::p, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by SubSourceAllocationInit(), and vout_RegisterSubpictureChannel().
| subpicture_t* spu_Render | ( | spu_t * | , |
| const vlc_fourcc_t * | p_chroma_list, | ||
| const video_format_t * | p_fmt_dst, | ||
| const video_format_t * | p_fmt_src, | ||
| mtime_t | render_subtitle_date, | ||
| mtime_t | render_osd_date, | ||
| bool | ignore_osd | ||
| ) |
This function will return an unique subpicture containing the OSD and subtitles visibles at the requested date.
| p_chroma_list | is a list of supported chroma for the output (can be NULL) |
| p_fmt_dst | is the format of the picture on which the return subpicture will be rendered. |
| p_fmt_src | is the format of the original(source) video. |
The returned value if non NULL must be released by subpicture_Delete().
References subpicture_t::b_subtitle, filter_chain_AppendFromString(), filter_chain_Reset(), filter_chain_SubSource(), video_format_t::i_chroma, spu_private_t::lock, spu_t::p, spu_private_t::source_chain, spu_private_t::source_chain_lock, spu_private_t::source_chain_update, SpuRenderSubpictures(), SpuSelectSubpictures(), subpicture_Update(), SubpictureCmp(), VLC_CODEC_RGBA, VLC_CODEC_YUVA, VLC_CODEC_YUVP, vlc_fourcc_IsYUV(), vlc_mutex_lock(), vlc_mutex_unlock(), and VOUT_MAX_SUBPICTURES.
Referenced by ThreadDisplayRenderPicture().
1.8.1.2