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