|
VLC
4.0.0-dev
|

Modules | |
| Sub-picture channels | |
| Video sub-pictures | |
| Video output display | |
| Video output display: output buffers and rendering. | |
| Video window | |
Files | |
| file | vlc_vout.h |
Data Structures | |
| struct | vout_thread_t |
| Video output thread descriptor. More... | |
Macros | |
| #define | VOUT_ALIGN_LEFT 0x0001 |
| #define | VOUT_ALIGN_RIGHT 0x0002 |
| #define | VOUT_ALIGN_HMASK 0x0003 |
| #define | VOUT_ALIGN_TOP 0x0004 |
| #define | VOUT_ALIGN_BOTTOM 0x0008 |
| #define | VOUT_ALIGN_VMASK 0x000C |
| #define | VOUT_SPU_CHANNEL_INVALID (-1) /* Always fails in comparison */ |
| #define | VOUT_SPU_CHANNEL_OSD 0 /* OSD channel is automatically cleared */ |
| #define | VOUT_SPU_CHANNEL_OSD_HSLIDER 1 |
| #define | VOUT_SPU_CHANNEL_OSD_VSLIDER 2 |
| #define | VOUT_SPU_CHANNEL_OSD_COUNT 3 |
| #define | vout_FlushAll(vout) vout_Flush( vout, VLC_TICK_INVALID ) |
| Empty all the pending pictures in the vout. More... | |
Enumerations | |
| enum | vlc_vout_order { VLC_VOUT_ORDER_NONE, VLC_VOUT_ORDER_PRIMARY, VLC_VOUT_ORDER_SECONDARY } |
| vout or spu_channel order More... | |
Functions | |
| VLC_EXPORT void | vout_Close (vout_thread_t *vout) |
| Destroys a vout. More... | |
| VLC_EXPORT int | vout_GetSnapshot (vout_thread_t *p_vout, block_t **pp_image, picture_t **pp_picture, video_format_t *p_fmt, const char *psz_format, vlc_tick_t i_timeout) |
| This function will handle a snapshot request. More... | |
| VLC_EXPORT picture_t * | vout_GetPicture (vout_thread_t *) |
| Allocates a video output picture buffer. More... | |
| VLC_EXPORT void | vout_PutPicture (vout_thread_t *, picture_t *) |
| It gives to the vout a picture to be displayed. More... | |
| VLC_EXPORT void | vout_PutSubpicture (vout_thread_t *, subpicture_t *) |
| VLC_EXPORT ssize_t | vout_RegisterSubpictureChannel (vout_thread_t *) |
| VLC_EXPORT void | vout_UnregisterSubpictureChannel (vout_thread_t *, size_t) |
| VLC_EXPORT void | vout_FlushSubpictureChannel (vout_thread_t *, size_t) |
| VLC_EXPORT void | vout_Flush (vout_thread_t *p_vout, vlc_tick_t i_date) |
| This function will ensure that all ready/displayed pictures have at most the provided date. More... | |
Video rendering, output and window management
This module describes the programming interface for video output threads. It includes functions allowing to open a new thread, send pictures to a thread, and destroy a previously opened video output thread.
| #define VOUT_ALIGN_BOTTOM 0x0008 |
| #define VOUT_ALIGN_HMASK 0x0003 |
| #define VOUT_ALIGN_LEFT 0x0001 |
| #define VOUT_ALIGN_RIGHT 0x0002 |
| #define VOUT_ALIGN_TOP 0x0004 |
| #define VOUT_ALIGN_VMASK 0x000C |
| #define vout_FlushAll | ( | vout | ) | vout_Flush( vout, VLC_TICK_INVALID ) |
Empty all the pending pictures in the vout.
| #define VOUT_SPU_CHANNEL_INVALID (-1) /* Always fails in comparison */ |
| #define VOUT_SPU_CHANNEL_OSD 0 /* OSD channel is automatically cleared */ |
| #define VOUT_SPU_CHANNEL_OSD_COUNT 3 |
| #define VOUT_SPU_CHANNEL_OSD_HSLIDER 1 |
| #define VOUT_SPU_CHANNEL_OSD_VSLIDER 2 |
| enum vlc_vout_order |
vout or spu_channel order
| VLC_EXPORT void vout_Close | ( | vout_thread_t * | vout | ) |
Destroys a vout.
This function closes and releases a vout created by vout_Create().
| vout | the vout to close |
References vout_thread_sys_t::display, vout_thread_sys_t::dummy, vout_thread_sys_t::render, vout_thread_sys_t::snapshot, vout_thread_sys_t::spu, spu_Destroy(), vout_thread_sys_t::static_filter, VLC_OBJECT, vout_chrono_Clean(), vout_IntfDeinit(), vout_Release(), vout_snapshot_End(), vout_Stop(), and VOUT_THREAD_TO_SYS.
Referenced by aout_filter_GetVout(), DestroyVout(), input_resource_PutVoutLocked(), and RequestVoutRsc().
| VLC_EXPORT void vout_Flush | ( | vout_thread_t * | p_vout, |
| vlc_tick_t | i_date | ||
| ) |
This function will ensure that all ready/displayed pictures have at most the provided date.
References vout_thread_sys_t::control, vout_thread_sys_t::dummy, vout_control_Hold(), vout_control_Release(), vout_FlushUnlocked(), and VOUT_THREAD_TO_SYS.
Referenced by ModuleThread_PlayVideo().
| VLC_EXPORT void vout_FlushSubpictureChannel | ( | vout_thread_t * | , |
| size_t | |||
| ) |
References vout_thread_sys_t::dummy, vout_thread_sys_t::spu, spu_ClearChannel(), and VOUT_THREAD_TO_SYS.
Referenced by DecoderThread_Flush(), and vlc_player_osd_HoldAll().
| VLC_EXPORT picture_t* vout_GetPicture | ( | vout_thread_t * | vout | ) |
Allocates a video output picture buffer.
Either vout_PutPicture() or picture_Release() must be used to return the buffer to the video output free buffer pool.
You may use picture_Hold() (paired with picture_Release()) to keep a read-only reference.
References vout_thread_private_t::display_pool, vout_thread_sys_t::dummy, picture_t::format, likely, vout_thread_sys_t::original, picture_pool_Wait(), picture_Reset(), vout_thread_sys_t::private, video_format_CopyCropAr(), and VOUT_THREAD_TO_SYS.
| VLC_EXPORT int vout_GetSnapshot | ( | vout_thread_t * | p_vout, |
| block_t ** | pp_image, | ||
| picture_t ** | pp_picture, | ||
| video_format_t * | p_fmt, | ||
| const char * | psz_format, | ||
| vlc_tick_t | i_timeout | ||
| ) |
This function will handle a snapshot request.
pp_image, pp_picture and p_fmt can be NULL otherwise they will be set with returned value in case of success.
pp_image will hold an encoded picture in psz_format format.
p_fmt can be NULL otherwise it will be set with the format used for the picture before encoding.
i_timeout specifies the time the function will wait for a snapshot to be available.
References vout_thread_sys_t::dummy, image_Type2Fourcc(), msg_Err, picture_Export(), picture_Release(), vout_thread_sys_t::snapshot, var_InheritInteger(), VLC_CODEC_PNG, VLC_EGENERIC, VLC_OBJECT, VLC_SUCCESS, vout_snapshot_Get(), and VOUT_THREAD_TO_SYS.
Referenced by VoutSaveSnapshot().
| VLC_EXPORT void vout_PutPicture | ( | vout_thread_t * | vout, |
| picture_t * | picture | ||
| ) |
It gives to the vout a picture to be displayed.
The given picture MUST comes from vout_GetPicture.
Becareful, after vout_PutPicture is called, picture_t::p_next cannot be read/used.
References vout_thread_sys_t::control, vout_thread_sys_t::decoder_fifo, vout_thread_sys_t::dummy, picture_fifo_Push(), picture_HasChainedPics(), vout_control_Wake(), and VOUT_THREAD_TO_SYS.
Referenced by ModuleThread_PlayVideo().
| VLC_EXPORT void vout_PutSubpicture | ( | vout_thread_t * | , |
| subpicture_t * | |||
| ) |
References vout_thread_sys_t::dummy, vout_thread_sys_t::spu, spu_PutSubpicture(), subpicture_Delete(), and VOUT_THREAD_TO_SYS.
Referenced by ModuleThread_PlaySpu(), OSDWidget(), vlc_input_decoder_AddVoutOverlay(), vout_OSDEpg(), vout_OSDText(), and VoutSnapshotPip().
| VLC_EXPORT ssize_t vout_RegisterSubpictureChannel | ( | vout_thread_t * | ) |
References vout_thread_sys_t::dummy, vout_thread_sys_t::spu, spu_RegisterChannel(), VOUT_SPU_CHANNEL_INVALID, and VOUT_THREAD_TO_SYS.
Referenced by vlc_input_decoder_AddVoutOverlay().
| VLC_EXPORT void vout_UnregisterSubpictureChannel | ( | vout_thread_t * | , |
| size_t | |||
| ) |
References vout_thread_sys_t::dummy, vout_thread_sys_t::spu, spu_UnregisterChannel(), and VOUT_THREAD_TO_SYS.
Referenced by DeleteDecoder(), ModuleThread_NewSpuBuffer(), and vlc_input_decoder_DelVoutOverlay().
1.8.17