#include "vlc_video.h"
Go to the source code of this file.
Defines | |
#define | OSD_ALIGN_LEFT 0x1 |
The OSD Menu configuration file format. | |
#define | OSD_BUTTON_UNSELECT 0 |
Functions | |
VLC_EXPORT (osd_menu_t *, __osd_MenuCreate,(vlc_object_t *, const char *)) | |
VLC_EXPORT (void, __osd_MenuDelete,(vlc_object_t *, osd_menu_t *)) | |
VLC_EXPORT (osd_state_t *, __osd_StateChange,(osd_state_t *, const int)) | |
VLC_EXPORT (void, __osd_MenuShow,(vlc_object_t *)) | |
VLC_EXPORT (void, __osd_MenuHide,(vlc_object_t *)) | |
VLC_EXPORT (void, __osd_MenuActivate,(vlc_object_t *)) | |
VLC_EXPORT (void, __osd_MenuNext,(vlc_object_t *)) | |
VLC_EXPORT (void, __osd_MenuPrev,(vlc_object_t *)) | |
VLC_EXPORT (void, __osd_MenuUp,(vlc_object_t *)) | |
VLC_EXPORT (void, __osd_MenuDown,(vlc_object_t *)) | |
VLC_EXPORT (void, __osd_Volume,(vlc_object_t *)) | |
VLC_EXPORT (int, osd_ShowTextRelative,(spu_t *, int, char *, text_style_t *, int, int, int, mtime_t)) | |
VLC_EXPORT (int, osd_Slider,(vlc_object_t *, spu_t *, int, int, int, int, short)) | |
VLC_EXPORT (int, osd_ConfigLoader,(vlc_object_t *, const char *, osd_menu_t **)) |
The file modules/video_filters/osdmenu.c implements a subpicture filter that specifies the final information on positioning of the current state image. A subpicture filter is called each time a video picture has to be rendered, it also gives a start and end date to the subpicture. The subpicture can be streamed if used inside a transcoding command. For example:
vlc dvdsimple:///dev/dvd --extraintf rc --sout='#transcode{osd}:std{access=udp,mux=ts,url=dest_ipaddr}' --osdmenu-file=share/osdmenu/dvd.cfg
Each OSD menu element, called "action", defines a hotkey action. Each action can have several states (unselect, select, pressed). Each state has an image that represents the state visually. The commands "menu right", "menu left", "menu up" and "menu down" are used to navigate through the OSD menu structure. The commands "menu on" or "menu show" and "menu off" or "menu hide" respectively show and hide the OSD menu subpictures.
There is one special element called "range". A range is an arbritary range of state images that can be browsed using "menu up" and "menu down" commands on the rc interface.
The OSD menu configuration file uses a very simple syntax and basic parser. A configuration file has the ".cfg". An example is "share/osdmenu/dvd256.cfg".
Definition in file vlc_osd.h.
|
The OSD Menu configuration file format. OSD menu position and picture type defines |
|
OSD menu button states Every button has three states, either it is unselected, selected or pressed. An OSD menu skin can associate images with each state. OSD_BUTTON_UNSELECT 0 OSD_BUTTON_SELECT 1 OSD_BUTTON_PRESSED 2 |
|
Loading and parse the OSD Configuration file These functions load/unload the OSD menu configuration file and create/destroy the themable OSD menu structure on the OSD object. |
|
Default feedback images Functions that provide the default OSD feedback images on hotkey commands. These feedback images are also part of the osd_button_t object. The types are declared in the include file include/vlc_osd.h
|
|
Textual feedback Functions that provide the textual feedback on the OSD. They are shown on hotkey commands. The feedback is also part of the osd_button_t object. The types are declared in the include file include/vlc_osd.h
|
|
Display the audio volume bitmap. Display the correct audio volume bitmap that corresponds to the current Audio Volume setting. |
|
OSD menu item below Select the next OSD menu item below the current item to be highlighted. Note: The actual position on screen of the menu item is determined by the the OSD menu configuration file. |
|
OSD menu item above Select the OSD menu item above the current item to be highlighted. Note: The actual position on screen of the menu item is determined by the the OSD menu configuration file. |
|
Previous OSD menu item Select the previous OSD menu item to be highlighted. Note: The actual position on screen of the menu item is determined by the the OSD menu configuration file. |
|
Next OSD menu item Select the next OSD menu item to be highlighted. Note: The actual position on screen of the menu item is determined by the the OSD menu configuration file. |
|
Activate the action of this OSD menu item. The rc interface command "menu select" triggers the sending of an hotkey action to the hotkey interface. The hotkey that belongs to the current highlighted OSD menu item will be used. |
|
Hide the OSD menu. Stop showing the OSD menu on the video output or mux it into the stream. |
|
Show the OSD menu. Show the OSD menu on the video output or mux it into the stream. Every change to the OSD menu will now be visible in the output. An output can be a video output window or a stream (
|
|
Change state on an osd_button_t. This function selects the specified state and returns a pointer to it. The following states are currently supported:
|
|
Delete the osd_menu_t object This functions has to be called to release the associated module and memory for the osdmenu. After return of this function the pointer to osd_menu_t* is invalid. |
|
Initialize an osd_menu_t object This functions has to be called before any call to other osd_menu_t* functions. It creates the osd_menu object and holds a pointer to it during its lifetime. |