|
VLC 4.0.0-dev
|
Video rendering, output and window management. More...
Modules | |
| Sub-picture channels | |
| Video sub-pictures | |
| Subpictures are pictures that should be displayed on top of the video, like subtitles and OSD. | |
| Video output display | |
| Video output display: output buffers and rendering. | |
| Video window | |
| Window management. | |
Files | |
| file | vlc_vout.h |
| Video output thread interface. | |
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. | |
Typedefs | |
| typedef enum vlc_stereoscopic_mode_t | vlc_stereoscopic_mode_t |
| Stereoscopic display mode. | |
Enumerations | |
| enum | vlc_vout_order { VLC_VOUT_ORDER_NONE , VLC_VOUT_ORDER_PRIMARY , VLC_VOUT_ORDER_SECONDARY } |
| vout or spu_channel order More... | |
| enum | vlc_stereoscopic_mode_t { VIDEO_STEREO_OUTPUT_AUTO = 0 , VIDEO_STEREO_OUTPUT_STEREO , VIDEO_STEREO_OUTPUT_LEFT_ONLY , VIDEO_STEREO_OUTPUT_RIGHT_ONLY , VIDEO_STEREO_OUTPUT_SIDE_BY_SIDE } |
| Stereoscopic display mode. More... | |
Functions | |
| void | vout_Close (vout_thread_t *vout) |
| Destroys a vout. | |
| 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. | |
| void | vout_PutPicture (vout_thread_t *, picture_t *) |
| It gives to the vout a picture to be displayed. | |
| void | vout_PutSubpicture (vout_thread_t *, subpicture_t *) |
| ssize_t | vout_RegisterSubpictureChannel (vout_thread_t *) |
| void | vout_UnregisterSubpictureChannel (vout_thread_t *, size_t) |
| void | vout_FlushSubpictureChannel (vout_thread_t *, size_t) |
| 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. | |
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 |
| typedef enum vlc_stereoscopic_mode_t vlc_stereoscopic_mode_t |
Stereoscopic display mode.
| enum vlc_vout_order |
vout or spu_channel order
| 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::dummy, vout_thread_sys_t::snapshot, vout_thread_sys_t::spu, spu_Destroy(), VLC_OBJECT, vout_IntfDeinit(), vout_Release(), vout_snapshot_End(), vout_Stop(), and VOUT_THREAD_TO_SYS.
Referenced by aout_filter_GetVout(), aout_FiltersPipelineDestroy(), AppendFilter(), DestroyVout(), input_resource_PutVoutLocked(), and RequestVoutRsc().
| 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, GetTracer(), vout_thread_sys_t::str_id, vlc_tracer_TraceEvent(), vout_control_Hold(), vout_control_Release(), vout_FlushUnlocked(), and VOUT_THREAD_TO_SYS.
Referenced by ModuleThread_PlayVideo().
| void vout_FlushSubpictureChannel | ( | vout_thread_t * | vout, |
| size_t | channel | ||
| ) |
References vout_thread_sys_t::dummy, vout_thread_sys_t::spu, spu_ClearChannel(), and VOUT_THREAD_TO_SYS.
Referenced by vlc_input_decoder_Flush(), and vlc_player_osd_HoldAll().
| 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().
| void vout_PutPicture | ( | vout_thread_t * | vout, |
| picture_t * | picture | ||
| ) |
It gives to the vout a picture to be displayed.
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().
| void vout_PutSubpicture | ( | vout_thread_t * | vout, |
| subpicture_t * | subpic | ||
| ) |
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().
| ssize_t vout_RegisterSubpictureChannel | ( | vout_thread_t * | vout | ) |
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().
| void vout_UnregisterSubpictureChannel | ( | vout_thread_t * | vout, |
| size_t | channel | ||
| ) |
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().