libgpac
Documentation of the core library of GPAC
Event System

Event system used by GPAC playback. More...

+ Collaboration diagram for Event System:

Data Structures

struct  GF_EventMouse
 
struct  GF_EventMultiTouch
 
struct  GF_EventKey
 
struct  GF_EventChar
 
struct  GF_EventSize
 
struct  GF_EventVideoSetup
 
struct  GF_EventShow
 
struct  GF_EventCursor
 
struct  GF_EventCaption
 
struct  GF_EventMove
 
struct  GF_EventDuration
 
struct  GF_EventNavigate
 
struct  GF_EventMessage
 
struct  GF_EventProgress
 
struct  GF_EventConnect
 
struct  GF_EventAddonConnect
 
struct  GF_EventAuthorize
 
struct  GF_EventSysColors
 
struct  GF_EventMutation
 
struct  GF_EventOpenFile
 
struct  GF_EventOrientationSensor
 
struct  GF_EventGPS
 
struct  GF_EventSensorRequest
 
struct  GF_EventClipboard
 
union  GF_Event
 
union  GF_EventProgress.__unnamed36__
 

Enumerations

enum  { GF_MOUSE_LEFT = 0 , GF_MOUSE_MIDDLE , GF_MOUSE_RIGHT }
 
enum  GF_DisplayOrientationType {
  GF_DISPLAY_MODE_UNKNOWN =0 , GF_DISPLAY_MODE_PORTRAIT , GF_DISPLAY_MODE_LANDSCAPE , GF_DISPLAY_MODE_LANDSCAPE_INV ,
  GF_DISPLAY_MODE_PORTRAIT_INV
}
 
enum  GF_EventType {
  GF_EVENT_CLICK = 1 , GF_EVENT_MOUSEUP , GF_EVENT_MOUSEDOWN , GF_EVENT_MOUSEMOVE ,
  GF_EVENT_LAST_MOUSE_COORDS = GF_EVENT_MOUSEMOVE , GF_EVENT_MOUSEWHEEL , GF_EVENT_MULTITOUCH , GF_EVENT_LAST_MOUSE = 10 ,
  GF_EVENT_FIRST_KEY = 20 , GF_EVENT_KEYUP = GF_EVENT_FIRST_KEY , GF_EVENT_KEYDOWN , GF_EVENT_LONGKEYPRESS ,
  GF_EVENT_TEXTINPUT , GF_EVENT_FIRST_INTERNAL = 30 , GF_EVENT_UNKNOWN = GF_EVENT_FIRST_INTERNAL , GF_EVENT_DBLCLICK ,
  GF_EVENT_SCENE_ATTACHED , GF_EVENT_SIZE , GF_EVENT_SCENE_SIZE , GF_EVENT_SHOWHIDE ,
  GF_EVENT_SET_CURSOR , GF_EVENT_SET_CAPTION , GF_EVENT_MOVE , GF_EVENT_REFRESH ,
  GF_EVENT_QUIT , GF_EVENT_VIDEO_SETUP , GF_EVENT_SET_GL , GF_EVENT_SET_ORIENTATION ,
  GF_EVENT_SYS_COLORS , GF_EVENT_PASTE_TEXT , GF_EVENT_COPY_TEXT , GF_EVENT_CONNECT ,
  GF_EVENT_DURATION , GF_EVENT_EOS , GF_EVENT_AUTHORIZATION , GF_EVENT_NAVIGATE ,
  GF_EVENT_NAVIGATE_INFO , GF_EVENT_MESSAGE , GF_EVENT_PROGRESS , GF_EVENT_VIEWPOINTS ,
  GF_EVENT_STREAMLIST , GF_EVENT_METADATA , GF_EVENT_DROPFILE , GF_EVENT_TEXT_EDITING_START ,
  GF_EVENT_TEXT_EDITING_END , GF_EVENT_QUALITY_SWITCHED , GF_EVENT_TIMESHIFT_DEPTH , GF_EVENT_TIMESHIFT_UPDATE ,
  GF_EVENT_TIMESHIFT_OVERFLOW , GF_EVENT_TIMESHIFT_UNDERRUN , GF_EVENT_ADDON_DETECTED , GF_EVENT_MAIN_ADDON_STATE ,
  GF_EVENT_CODEC_SLOW , GF_EVENT_CODEC_OK , GF_EVENT_SENSOR_REQUEST , GF_EVENT_SENSOR_ORIENTATION ,
  GF_EVENT_SENSOR_GPS , GF_EVENT_LAST_INTERNAL , GF_EVENT_FIRST_DOM = 60 , GF_EVENT_VP_RESIZE ,
  GF_EVENT_TEXTSELECT , GF_EVENT_MOUSEOVER , GF_EVENT_MOUSEOUT , GF_EVENT_FOCUSIN ,
  GF_EVENT_FOCUSOUT , GF_EVENT_ACTIVATE , GF_EVENT_CHANGE , GF_EVENT_FOCUS ,
  GF_EVENT_BLUR , GF_EVENT_LOAD , GF_EVENT_UNLOAD , GF_EVENT_ABORT ,
  GF_EVENT_ERROR , GF_EVENT_RESIZE , GF_EVENT_SCROLL , GF_EVENT_ZOOM ,
  GF_EVENT_BEGIN , GF_EVENT_BEGIN_EVENT , GF_EVENT_END , GF_EVENT_END_EVENT ,
  GF_EVENT_REPEAT , GF_EVENT_REPEAT_EVENT , GF_EVENT_TREE_MODIFIED , GF_EVENT_NODE_INSERTED ,
  GF_EVENT_NODE_REMOVED , GF_EVENT_NODE_INSERTED_DOC , GF_EVENT_NODE_REMOVED_DOC , GF_EVENT_ATTR_MODIFIED ,
  GF_EVENT_CHAR_DATA_MODIFIED , GF_EVENT_NODE_NAME_CHANGED , GF_EVENT_ATTR_NAME_CHANGED , GF_EVENT_DCCI_PROP_CHANGE ,
  GF_EVENT_ACTIVATED , GF_EVENT_DEACTIVATED , GF_EVENT_PAUSE , GF_EVENT_PAUSED_EVENT ,
  GF_EVENT_PLAY , GF_EVENT_REPEAT_KEY , GF_EVENT_RESUME_EVENT , GF_EVENT_SHORT_ACCESSKEY ,
  GF_EVENT_EXECUTION_TIME , GF_EVENT_MEDIA_SETUP_BEGIN , GF_EVENT_MEDIA_SETUP_DONE , GF_EVENT_MEDIA_LOAD_START ,
  GF_EVENT_MEDIA_LOAD_DONE , GF_EVENT_MEDIA_PROGRESS , GF_EVENT_MEDIA_SUSPEND , GF_EVENT_MEDIA_EMPTIED ,
  GF_EVENT_MEDIA_STALLED , GF_EVENT_MEDIA_LOADED_METADATA , GF_EVENT_MEDIA_LODADED_DATA , GF_EVENT_MEDIA_CANPLAY ,
  GF_EVENT_MEDIA_CANPLAYTHROUGH , GF_EVENT_MEDIA_PLAYING , GF_EVENT_MEDIA_WAITING , GF_EVENT_MEDIA_SEEKING ,
  GF_EVENT_MEDIA_SEEKED , GF_EVENT_MEDIA_ENDED , GF_EVENT_MEDIA_DURATION_CHANGED , GF_EVENT_MEDIA_TIME_UPDATE ,
  GF_EVENT_MEDIA_RATECHANGE , GF_EVENT_MEDIA_VOLUME_CHANGED , GF_EVENT_BATTERY , GF_EVENT_CPU
}
 
enum  GF_KeyCode {
  GF_KEY_UNIDENTIFIED = 0 , GF_KEY_ACCEPT = 1 , GF_KEY_AGAIN , GF_KEY_ALLCANDIDATES ,
  GF_KEY_ALPHANUM , GF_KEY_ALT , GF_KEY_ALTGRAPH , GF_KEY_APPS ,
  GF_KEY_ATTN , GF_KEY_BROWSERBACK , GF_KEY_BROWSERFAVORITES , GF_KEY_BROWSERFORWARD ,
  GF_KEY_BROWSERHOME , GF_KEY_BROWSERREFRESH , GF_KEY_BROWSERSEARCH , GF_KEY_BROWSERSTOP ,
  GF_KEY_CAPSLOCK , GF_KEY_CLEAR , GF_KEY_CODEINPUT , GF_KEY_COMPOSE ,
  GF_KEY_CONTROL , GF_KEY_CRSEL , GF_KEY_CONVERT , GF_KEY_COPY ,
  GF_KEY_CUT , GF_KEY_DOWN , GF_KEY_END , GF_KEY_ENTER ,
  GF_KEY_ERASEEOF , GF_KEY_EXECUTE , GF_KEY_EXSEL , GF_KEY_F1 ,
  GF_KEY_F2 , GF_KEY_F3 , GF_KEY_F4 , GF_KEY_F5 ,
  GF_KEY_F6 , GF_KEY_F7 , GF_KEY_F8 , GF_KEY_F9 ,
  GF_KEY_F10 , GF_KEY_F11 , GF_KEY_F12 , GF_KEY_F13 ,
  GF_KEY_F14 , GF_KEY_F15 , GF_KEY_F16 , GF_KEY_F17 ,
  GF_KEY_F18 , GF_KEY_F19 , GF_KEY_F20 , GF_KEY_F21 ,
  GF_KEY_F22 , GF_KEY_F23 , GF_KEY_F24 , GF_KEY_FINALMODE ,
  GF_KEY_FIND , GF_KEY_FULLWIDTH , GF_KEY_HALFWIDTH , GF_KEY_HANGULMODE ,
  GF_KEY_HANJAMODE , GF_KEY_HELP , GF_KEY_HIRAGANA , GF_KEY_HOME ,
  GF_KEY_INSERT , GF_KEY_JAPANESEHIRAGANA , GF_KEY_JAPANESEKATAKANA , GF_KEY_JAPANESEROMAJI ,
  GF_KEY_JUNJAMODE , GF_KEY_KANAMODE , GF_KEY_KANJIMODE , GF_KEY_KATAKANA ,
  GF_KEY_LAUNCHAPPLICATION1 , GF_KEY_LAUNCHAPPLICATION2 , GF_KEY_LAUNCHMAIL , GF_KEY_LEFT ,
  GF_KEY_META , GF_KEY_MEDIANEXTTRACK , GF_KEY_MEDIAPLAYPAUSE , GF_KEY_MEDIAPREVIOUSTRACK ,
  GF_KEY_MEDIASTOP , GF_KEY_MODECHANGE , GF_KEY_NONCONVERT , GF_KEY_NUMLOCK ,
  GF_KEY_PAGEDOWN , GF_KEY_PAGEUP , GF_KEY_PASTE , GF_KEY_PAUSE ,
  GF_KEY_PLAY , GF_KEY_PREVIOUSCANDIDATE , GF_KEY_PRINTSCREEN , GF_KEY_PROCESS ,
  GF_KEY_PROPS , GF_KEY_RIGHT , GF_KEY_ROMANCHARACTERS , GF_KEY_SCROLL ,
  GF_KEY_SELECT , GF_KEY_SELECTMEDIA , GF_KEY_SHIFT , GF_KEY_STOP ,
  GF_KEY_UP , GF_KEY_UNDO , GF_KEY_VOLUMEDOWN , GF_KEY_VOLUMEMUTE ,
  GF_KEY_VOLUMEUP , GF_KEY_WIN , GF_KEY_ZOOM , GF_KEY_BACKSPACE ,
  GF_KEY_TAB , GF_KEY_CANCEL , GF_KEY_ESCAPE , GF_KEY_SPACE ,
  GF_KEY_EXCLAMATION , GF_KEY_QUOTATION , GF_KEY_NUMBER , GF_KEY_DOLLAR ,
  GF_KEY_AMPERSAND , GF_KEY_APOSTROPHE , GF_KEY_LEFTPARENTHESIS , GF_KEY_RIGHTPARENTHESIS ,
  GF_KEY_STAR , GF_KEY_PLUS , GF_KEY_COMMA , GF_KEY_HYPHEN ,
  GF_KEY_FULLSTOP , GF_KEY_SLASH , GF_KEY_0 , GF_KEY_1 ,
  GF_KEY_2 , GF_KEY_3 , GF_KEY_4 , GF_KEY_5 ,
  GF_KEY_6 , GF_KEY_7 , GF_KEY_8 , GF_KEY_9 ,
  GF_KEY_COLON , GF_KEY_SEMICOLON , GF_KEY_LESSTHAN , GF_KEY_EQUALS ,
  GF_KEY_GREATERTHAN , GF_KEY_QUESTION , GF_KEY_AT , GF_KEY_A ,
  GF_KEY_B , GF_KEY_C , GF_KEY_D , GF_KEY_E ,
  GF_KEY_F , GF_KEY_G , GF_KEY_H , GF_KEY_I ,
  GF_KEY_J , GF_KEY_K , GF_KEY_L , GF_KEY_M ,
  GF_KEY_N , GF_KEY_O , GF_KEY_P , GF_KEY_Q ,
  GF_KEY_R , GF_KEY_S , GF_KEY_T , GF_KEY_U ,
  GF_KEY_V , GF_KEY_W , GF_KEY_X , GF_KEY_Y ,
  GF_KEY_Z , GF_KEY_LEFTSQUAREBRACKET , GF_KEY_BACKSLASH , GF_KEY_RIGHTSQUAREBRACKET ,
  GF_KEY_CIRCUM , GF_KEY_UNDERSCORE , GF_KEY_GRAVEACCENT , GF_KEY_LEFTCURLYBRACKET ,
  GF_KEY_PIPE , GF_KEY_RIGHTCURLYBRACKET , GF_KEY_DEL , GF_KEY_INVERTEXCLAMATION ,
  GF_KEY_DEADGRAVE , GF_KEY_DEADEACUTE , GF_KEY_DEADCIRCUM , GF_KEY_DEADTILDE ,
  GF_KEY_DEADMACRON , GF_KEY_DEADBREVE , GF_KEY_DEADABOVEDOT , GF_KEY_DEADDIARESIS ,
  GF_KEY_DEADRINGABOVE , GF_KEY_DEADDOUBLEACUTE , GF_KEY_DEADCARON , GF_KEY_DEADCEDILLA ,
  GF_KEY_DEADOGONEK , GF_KEY_DEADIOTA , GF_KEY_EURO , GF_KEY_DEADVOICESOUND ,
  GF_KEY_DEADSEMIVOICESOUND , GF_KEY_CHANNELUP , GF_KEY_CHANNELDOWN , GF_KEY_TEXT ,
  GF_KEY_INFO , GF_KEY_EPG , GF_KEY_RECORD , GF_KEY_BEGINPAGE ,
  GF_KEY_CELL_SOFT1 , GF_KEY_CELL_SOFT2
}
 
enum  GF_KeyModifier {
  GF_KEY_MOD_SHIFT = (1) , GF_KEY_MOD_CTRL = (1<<2) , GF_KEY_MOD_ALT = (1<<3) , GF_KEY_EXT_NUMPAD = (1<<4) ,
  GF_KEY_EXT_LEFT = (1<<5) , GF_KEY_EXT_RIGHT = (1<<6)
}
 
enum  {
  GF_CURSOR_NORMAL = 0x00 , GF_CURSOR_ANCHOR , GF_CURSOR_TOUCH , GF_CURSOR_ROTATE ,
  GF_CURSOR_PROXIMITY , GF_CURSOR_PLANE , GF_CURSOR_COLLIDE , GF_CURSOR_HIDE
}
 

Detailed Description

This section documents the event structures used by thethe compositor, input modules and output rendering modules for communication.


Data Structure Documentation

◆ GF_EventMouse

struct GF_EventMouse

Mouse event structure event proc return value: ignored

Data Fields
u8 type
s32 x
s32 y
Fixed wheel_pos
u32 button
u32 key_states
u32 window_id

◆ GF_EventMultiTouch

struct GF_EventMultiTouch

Mouse event structure event proc return value: ignored

Data Fields
u8 type
Fixed x
Fixed y
Fixed rotation
Fixed pinch
u32 num_fingers
u32 window_id

◆ GF_EventKey

struct GF_EventKey

Keyboard key event event proc return value: ignored

Data Fields
u8 type
u32 key_code
u32 hw_code
u32 flags
u32 window_id

◆ GF_EventChar

struct GF_EventChar

Keyboard character event event proc return value: ignored

Data Fields
u8 type
u32 unicode_char
u32 window_id

◆ GF_EventSize

struct GF_EventSize

Window resize event event proc return value: ignored

Data Fields
u8 type
u32 width
u32 height
GF_DisplayOrientationType orientation
u32 window_id

◆ GF_EventVideoSetup

struct GF_EventVideoSetup

Video setup (2D or 3D) event event proc return value: ignored

Data Fields
u8 type
u32 width
u32 height
Bool back_buffer
Bool system_memory
Bool use_opengl
Bool disable_vsync
Bool hw_reset

◆ GF_EventShow

struct GF_EventShow

Windows show event event proc return value: ignored this event may be triggered by the compositor if owning window or if shortcut fullscreen is detected

Data Fields
u8 type
u32 show_type
u32 window_id

◆ GF_EventCursor

struct GF_EventCursor

Mouse cursor event event proc return value: ignored

Data Fields
u8 type
u32 cursor_type

◆ GF_EventCaption

struct GF_EventCaption

Window caption event event proc return value: ignored

Data Fields
u8 type
const char * caption

◆ GF_EventMove

struct GF_EventMove

Window move event event proc: never posted

Data Fields
u8 type
s32 x
s32 y
u32 relative
u8 align_x
u8 align_y
u32 window_id

◆ GF_EventDuration

struct GF_EventDuration

Media duration event duration may be signaled several times: it may change when setting up streams event proc return value: ignored

Data Fields
u8 type
Double duration
Bool can_seek

◆ GF_EventNavigate

struct GF_EventNavigate

Hyperlink navigation event event proc return value: 0 if URL not supported, 1 if accepted (it is the user responsibility to load the url) YOU SHALL NOT DIRECTLY OPEN THE NEW URL IN THE EVENT PROC, THIS WOULD DEADLOCK THE COMPOSITOR

Data Fields
u8 type
const char * to_url
u32 param_count
const char ** parameters

◆ GF_EventMessage

struct GF_EventMessage

Service message event event proc return value: ignored

Data Fields
u8 type
const char * service
const char * message
GF_Err error

◆ GF_EventProgress

struct GF_EventProgress

Progress event event proc return value: ignored

Data Fields
u8 type
const char * service
u32 progress_type
u32 done
u32 total
union GF_EventProgress __unnamed__

◆ GF_EventConnect

struct GF_EventConnect

Service connection event event proc return value: ignored

Data Fields
u8 type
Bool is_connected

◆ GF_EventAddonConnect

struct GF_EventAddonConnect

Addon connection notification event event proc return value: 1 to indicate the compositor should attempt a default layout for this addon, 0: nothing will be done

Data Fields
u8 type
const char * addon_url
const char * mime_type

◆ GF_EventSysColors

struct GF_EventSysColors

System desktop colors and window decoration event event proc return value: 1 if info has been completed, 0 otherwise

Data Fields
u8 type

GF_EVENT_SYS_COLORS

u32 sys_colors[28]

ARGB colors, in order: ActiveBorder, ActiveCaption, AppWorkspace, Background, ButtonFace, ButtonHighlight, ButtonShadow, ButtonText, CaptionText, GrayText, Highlight, HighlightText, InactiveBorder, InactiveCaption, InactiveCaptionText, InfoBackground, InfoText, Menu, MenuText, Scrollbar, ThreeDDarkShadow, ThreeDFace, ThreeDHighlight, ThreeDLightShadow, ThreeDShadow, Window, WindowFrame, WindowText

◆ GF_EventMutation

struct GF_EventMutation

DOM mutation event

Data Fields
u8 type
void * relatedNode
void * prevValue
void * newValue
void * attrName
u8 attrChange

◆ GF_EventOpenFile

struct GF_EventOpenFile

Open file notification event

Data Fields
u8 type
u32 nb_files
char ** files
u32 window_id

◆ GF_EventOrientationSensor

struct GF_EventOrientationSensor

Orientation sensor change event event proc return value: ignored

Data Fields
u8 type
Float x
Float y
Float z
Float w

◆ GF_EventGPS

struct GF_EventGPS

GPS sensor change event event proc return value: ignored

Data Fields
u8 type
Double longitude
Double latitude
Double altitude
Float accuracy
Float bearing
u64 timestamp

◆ GF_EventSensorRequest

struct GF_EventSensorRequest

Orientation sensor activation event event proc return value: ignored

Data Fields
u8 type
u32 sensor_type
Bool activate

◆ GF_EventClipboard

struct GF_EventClipboard

Clipboard event proc return value: true if text has been set for COPY, ignored otherwise

Data Fields
u8 type
char * text
u32 window_id

◆ GF_Event

union GF_Event

Event object

+ Collaboration diagram for GF_Event:
Data Fields
u8 type
GF_EventMouse mouse
GF_EventMultiTouch mtouch
GF_EventKey key
GF_EventChar character
GF_EventOrientationSensor sensor
GF_EventGPS gps
GF_EventSize size
GF_EventShow show
GF_EventDuration duration
GF_EventNavigate navigate
GF_EventMessage message
GF_EventProgress progress
GF_EventConnect connect
GF_EventCaption caption
GF_EventCursor cursor
GF_EventAuthorize auth
GF_EventSysColors sys_cols
GF_EventMove move
GF_EventVideoSetup setup
GF_EventMutation mutation
GF_EventOpenFile open_file
GF_EventAddonConnect addon_connect
GF_EventSensorRequest activate_sensor
GF_EventClipboard clipboard

◆ GF_EventProgress.__unnamed36__

union GF_EventProgress.__unnamed36__
Data Fields
u32 bytes_per_seconds
u32 filter_idx

Enumeration Type Documentation

◆ anonymous enum

anonymous enum

mouse button modifiers

Enumerator
GF_MOUSE_LEFT 
GF_MOUSE_MIDDLE 
GF_MOUSE_RIGHT 

◆ GF_DisplayOrientationType

Display orientation

Enumerator
GF_DISPLAY_MODE_UNKNOWN 

Unknown display orientation

GF_DISPLAY_MODE_PORTRAIT 

portrait display orientation

GF_DISPLAY_MODE_LANDSCAPE 

landscape display orientation (+90deg anti-clockwise from portrait)

GF_DISPLAY_MODE_LANDSCAPE_INV 

inverted landscape display orientation (-90deg anti-clockwise from portrait)

GF_DISPLAY_MODE_PORTRAIT_INV 

upside down portrait display orientation (+180deg anti-clockwise from portrait)

◆ GF_EventType

GPAC Event types

Event for which DOM event name is none are not exposed to DOM
Event for which no DOM event name is given use the default DOM event name

If the associated struct in \ref GF_Event is not indicated, no structure is used
Enumerator
GF_EVENT_CLICK 

mouse click event associated struct: GF_EventMouse DOM Event: "click""

GF_EVENT_MOUSEUP 

mouse up event associated struct: GF_EventMouse DOM Event: "mouseup"

GF_EVENT_MOUSEDOWN 

mouse down event associated struct: GF_EventMouse DOM Event: "mousedown"

GF_EVENT_MOUSEMOVE 

mouse move event associated struct: GF_EventMouse DOM Event: "mousemove"

GF_EVENT_LAST_MOUSE_COORDS 
GF_EVENT_MOUSEWHEEL 

mouse wheel event associated struct: GF_EventMouse DOM Event: "wheel"

GF_EVENT_MULTITOUCH 

mouse multitouch event associated struct: GF_EventMultiTouch DOM Event: none

GF_EVENT_LAST_MOUSE 
GF_EVENT_FIRST_KEY 
GF_EVENT_KEYUP 

keyup event associated struct: GF_EventKey DOM Event: "keyup"

GF_EVENT_KEYDOWN 

keydown event associated struct: GF_EventKey DOM Event: "keydown", "keypress", "accesskey"

GF_EVENT_LONGKEYPRESS 

long keypress event associated struct: GF_EventKey DOM Event: "longaccesskey"

GF_EVENT_TEXTINPUT 

character input event associated struct: GF_EventChar DOM Event: "textInput"

GF_EVENT_FIRST_INTERNAL 
GF_EVENT_UNKNOWN 

unknown event - GPAC internal

GF_EVENT_DBLCLICK 

same as mousedown, generated internally by GPAC (not by video modules) but sent to GUI associated struct: GF_EventMouse DOM Event: "dblclick"

GF_EVENT_SCENE_ATTACHED 

scene attached event, dispatched when the root node of a scene is loaded and attached to the window or parent object (animation, inline, ...) associated struct: none DOM Event: "gpac_scene_attached"

GF_EVENT_SIZE 

window size changed event - indicate new w & h in .x end .y fields of event.

  • When sent from gpac to a video plugin, indicates the output size should be changed. This is only sent when the plugin manages the output video himself
  • When sent from a video plugin to gpac, indicates the output size has been changed. This is only sent when the plugin manages the output video himself
    associated struct: \ref GF_EventSize
    DOM Event: "gpac_size_changed"
    
GF_EVENT_SCENE_SIZE 

signals the scene size (if indicated in scene) upon connection (sent to the user event proc only) if scene size hasn't changed (seeking or other) this event is not sent

associated struct: GF_EventSize DOM Event: "gpac_scene_size"

GF_EVENT_SHOWHIDE 

window show/hide (minimized or other). associated struct: GF_EventShow DOM Event: "gpac_show_hide"

GF_EVENT_SET_CURSOR 

set mouse cursor associated struct: GF_EventCursor DOM Event: "gpac_set_cursor"

GF_EVENT_SET_CAPTION 

set window caption associated struct: GF_EventCaption DOM Event: "gpac_set_caption"

GF_EVENT_MOVE 

move window event associated struct: GF_EventMove DOM Event: "gpac_move"

GF_EVENT_REFRESH 

window needs repaint refresh - (whenever needed, eg restore, hide->show, background refresh, paint) DOM Event: "gpac_refresh"

GF_EVENT_QUIT 

app or window is being closed - a window ID value of 0 indicates global program close event associated struct: GF_EventShow DOM Event: "gpac_quit"

GF_EVENT_VIDEO_SETUP 

video output setup message:

  • when sent from gpac to plugin, indicates that the plugin should re-setup hardware context due to a window resize: for 2D output, this means resizing the backbuffer if needed (depending on HW constraints) for 3D output, this means re-setup of OpenGL context (depending on HW constraints). Depending on windowing systems and implementations, it could be possible to resize a window without destroying the GL context.
  • when sent from plugin to gpac, indicates that hardware has been setup.
  • when sent from gpac to user, indicate aspect ratio has been modified and video output is ready

associated struct: GF_EventVideoSetup DOM Event: none

GF_EVENT_SET_GL 

set current GL context for the calling thread DOM Event: none

GF_EVENT_SET_ORIENTATION 

set display orientation - value is given by GF_EventSize orientation field associated struct: GF_EventSize DOM Event: none

GF_EVENT_SYS_COLORS 

queries the list of system colors - only exchanged between compositor/vout and video output module associated struct: GF_EventSysColors DOM Event: none

GF_EVENT_PASTE_TEXT 

indicates text has been pasted - from video output module to compositor/vout only associated struct: GF_EventClipboard DOM Event: none

GF_EVENT_COPY_TEXT 

queries for text to be copied - from video output module to compositor/vout only associated struct: GF_EventClipboard DOM Event: none

GF_EVENT_CONNECT 

root URL connected / disconnected event associated struct: GF_EventConnect DOM Event: "gpac_on_connect"

GF_EVENT_DURATION 

duration of root URL presentation associated struct: GF_EventDuration DOM Event: "gpac_on_duration"

GF_EVENT_EOS 

End of scene playback event DOM Event: "gpac_eos"

GF_EVENT_AUTHORIZATION 

user and pass query event associated struct: GF_EventAuthorize DOM Event: "gpac_authorization"

GF_EVENT_NAVIGATE 

user app should load or jump to the given URL associated struct: GF_EventNavigate DOM Event: "gpac_navigate"

GF_EVENT_NAVIGATE_INFO 

indicates the link or its description under the mouse pointer associated struct: GF_EventNavigate DOM Event: "gpac_navigate_info"

GF_EVENT_MESSAGE 

message from the compositor associated struct: GF_EventMessage DOM Event: "gpac_on_message"

GF_EVENT_PROGRESS 

progress message from the compositor associated struct: GF_EventProgress DOM Event: "gpac_on_progress"

GF_EVENT_VIEWPOINTS 

indicates viewpoint list has changed DOM Event: "gpac_viewpoints_changed"

GF_EVENT_STREAMLIST 

indicates stream list has changed - no struct associated - only used when no scene info is present DOM Event: "gpac_streamlist_changed"

GF_EVENT_METADATA 

indicates a change in associated metadata - not implemented

GF_EVENT_DROPFILE 

indicates a list of file paths has been dropped on window associated struct: GF_EventOpenFile DOM Event: none

GF_EVENT_TEXT_EDITING_START 

signal text editing is starting - only sent from compositor/vout to video output module, to show virtual keyboard DOM Event: none

GF_EVENT_TEXT_EDITING_END 

signal text editing is done - only sent from compositor/vout to video output module, to hide virtual keyboard DOM Event: none

GF_EVENT_QUALITY_SWITCHED 

quality change is detected by compositor DOM Event: "gpac_quality_switch"

GF_EVENT_TIMESHIFT_DEPTH 

timeshift depth changed event DOM Event: "gpac_timeshift_depth_changed"

GF_EVENT_TIMESHIFT_UPDATE 

position in timeshift buffer changed event DOM Event: "gpac_timeshift_update"

GF_EVENT_TIMESHIFT_OVERFLOW 

position overflows the timeshift buffer event DOM Event: "gpac_timeshift_overflow"

GF_EVENT_TIMESHIFT_UNDERRUN 

position underruns the timeshift bufferevent (eg fast forward / seek in the future) DOM Event: "gpac_timeshift_underrun"

GF_EVENT_ADDON_DETECTED 

main addon (injected from active URL) detected DOM Event: "gpac_addon_found"

GF_EVENT_MAIN_ADDON_STATE 

main addon (injected from active URL) detected DOM Event: "gpac_main_addon_state"

GF_EVENT_CODEC_SLOW 

codec running too slow event DOM Event: "gpac_codec_slow"

GF_EVENT_CODEC_OK 

codec running ok event (only sent after a codec too slow) DOM Event: "gpac_codec_ok"

GF_EVENT_SENSOR_REQUEST 

sensor request event (send to app) DOM Event: none

GF_EVENT_SENSOR_ORIENTATION 

orientation (yaw pitch roll) changed event (send by app) associated struct: GF_EventOrientationSensor DOM Event: none

GF_EVENT_SENSOR_GPS 

GPS location changed event (send by app) associated struct: GF_EventGPS DOM Event: none

GF_EVENT_LAST_INTERNAL 
GF_EVENT_FIRST_DOM 
GF_EVENT_VP_RESIZE 

viewport resize event, dispatched when viewport of a scene is being modified attached to the window or parent object associated struct: none DOM Event: "gpac_vp_changed"

GF_EVENT_TEXTSELECT 

text is being selected

GF_EVENT_MOUSEOVER 

mouse over node event

GF_EVENT_MOUSEOUT 

mouse out node event

GF_EVENT_FOCUSIN 

node focus in event

GF_EVENT_FOCUSOUT 

node focus out event

GF_EVENT_ACTIVATE 

node activate event

GF_EVENT_CHANGE 

node focus change event - not implemented

GF_EVENT_FOCUS 

focus received event - not implemented

GF_EVENT_BLUR 

focus lost event - not implemented

GF_EVENT_LOAD 

document load event, also used for XHR

GF_EVENT_UNLOAD 

document unload event

GF_EVENT_ABORT 

document abort event, also used for XHR

GF_EVENT_ERROR 

document error event, also used for XHR

GF_EVENT_RESIZE 

document resize event

GF_EVENT_SCROLL 

document scroll event

GF_EVENT_ZOOM 

document zoom event

GF_EVENT_BEGIN 

fake SMIL begin event - it is NEVER fired, only used in SMIL begin parsing

GF_EVENT_BEGIN_EVENT 

SMIL begin event

GF_EVENT_END 

fake SMIL end event - it is NEVER fired, only used in SMIL end parsing

GF_EVENT_END_EVENT 

SMIL end event

GF_EVENT_REPEAT 

fake SMIL repeat event, it is NEVER fired, only used in SMIL repeat

GF_EVENT_REPEAT_EVENT 

SMIL repeat event

GF_EVENT_TREE_MODIFIED 

tree modified mutation event

GF_EVENT_NODE_INSERTED 

node modified mutation event

GF_EVENT_NODE_REMOVED 

node removed mutation event

GF_EVENT_NODE_INSERTED_DOC 

node inserted in doc mutation event - not implemented

GF_EVENT_NODE_REMOVED_DOC 

node removed from doc mutation event - not implemented

GF_EVENT_ATTR_MODIFIED 

attribute modified mutation event

GF_EVENT_CHAR_DATA_MODIFIED 

text data modified mutation event - not implemented

GF_EVENT_NODE_NAME_CHANGED 

node name modified mutation event - not implemented

GF_EVENT_ATTR_NAME_CHANGED 

attribute name modified mutation event - not implemented

GF_EVENT_DCCI_PROP_CHANGE 

DCCI property of node modified - not implemented

GF_EVENT_ACTIVATED 

LASeR activated event

GF_EVENT_DEACTIVATED 

LASeR deactivated event

GF_EVENT_PAUSE 

SMIL and HTML media pause trigger event

GF_EVENT_PAUSED_EVENT 

SMIL and HTML media pause notification event

GF_EVENT_PLAY 

SMIL and HTML media PLAY event

GF_EVENT_REPEAT_KEY 

repeat key event

GF_EVENT_RESUME_EVENT 

SMIL resumed event

GF_EVENT_SHORT_ACCESSKEY 

short access key event

GF_EVENT_EXECUTION_TIME 

pseudo-event only used in LASeR coding, solved to SMIL scene clock when parsing

GF_EVENT_MEDIA_SETUP_BEGIN 

HTML5 media setup being event - GPAC internal

GF_EVENT_MEDIA_SETUP_DONE 

HTML5 media setup done event - GPAC internal

GF_EVENT_MEDIA_LOAD_START 

HTML5 media load statr event - also used in XHR

GF_EVENT_MEDIA_LOAD_DONE 

HTML5 media load done event - also used in XHR

GF_EVENT_MEDIA_PROGRESS 

HTML5 media progress event - also used in XHR

GF_EVENT_MEDIA_SUSPEND 

HTML5 media suspend event - not implemented

GF_EVENT_MEDIA_EMPTIED 

HTML5 media emptied event - not implemented

GF_EVENT_MEDIA_STALLED 

HTML5 media stalled event - not implemented

GF_EVENT_MEDIA_LOADED_METADATA 

HTML5 metadata loaded event - not implemented

GF_EVENT_MEDIA_LODADED_DATA 

HTML5 media loaded event - not implemented

GF_EVENT_MEDIA_CANPLAY 

HTML5 media can play - not implemented

GF_EVENT_MEDIA_CANPLAYTHROUGH 

HTML5 media can play through - not implemented

GF_EVENT_MEDIA_PLAYING 

HTML5 media playing - not implemented

GF_EVENT_MEDIA_WAITING 

HTML5 media waiting - not implemented

GF_EVENT_MEDIA_SEEKING 

HTML5 media seeking - not implemented

GF_EVENT_MEDIA_SEEKED 

HTML5 media seeked - not implemented

GF_EVENT_MEDIA_ENDED 

HTML5 media ended

GF_EVENT_MEDIA_DURATION_CHANGED 

HTML5 media duration changed - not implemented

GF_EVENT_MEDIA_TIME_UPDATE 

HTML5 media time update event

GF_EVENT_MEDIA_RATECHANGE 

HTML5 media playbalck rate change event - not implemented

GF_EVENT_MEDIA_VOLUME_CHANGED 

HTML5 media volume change event - not implemented

GF_EVENT_BATTERY 

battery event - not implemented

GF_EVENT_CPU 

CPU event - not implemented

◆ GF_KeyCode

enum GF_KeyCode

GPAC/DOM3 key codes

Enumerator
GF_KEY_UNIDENTIFIED 
GF_KEY_ACCEPT 
GF_KEY_AGAIN 
GF_KEY_ALLCANDIDATES 
GF_KEY_ALPHANUM 
GF_KEY_ALT 
GF_KEY_ALTGRAPH 
GF_KEY_APPS 
GF_KEY_ATTN 
GF_KEY_BROWSERBACK 
GF_KEY_BROWSERFAVORITES 
GF_KEY_BROWSERFORWARD 
GF_KEY_BROWSERHOME 
GF_KEY_BROWSERREFRESH 
GF_KEY_BROWSERSEARCH 
GF_KEY_BROWSERSTOP 
GF_KEY_CAPSLOCK 
GF_KEY_CLEAR 
GF_KEY_CODEINPUT 
GF_KEY_COMPOSE 
GF_KEY_CONTROL 
GF_KEY_CRSEL 
GF_KEY_CONVERT 
GF_KEY_COPY 
GF_KEY_CUT 
GF_KEY_DOWN 
GF_KEY_END 
GF_KEY_ENTER 
GF_KEY_ERASEEOF 
GF_KEY_EXECUTE 
GF_KEY_EXSEL 
GF_KEY_F1 
GF_KEY_F2 
GF_KEY_F3 
GF_KEY_F4 
GF_KEY_F5 
GF_KEY_F6 
GF_KEY_F7 
GF_KEY_F8 
GF_KEY_F9 
GF_KEY_F10 
GF_KEY_F11 
GF_KEY_F12 
GF_KEY_F13 
GF_KEY_F14 
GF_KEY_F15 
GF_KEY_F16 
GF_KEY_F17 
GF_KEY_F18 
GF_KEY_F19 
GF_KEY_F20 
GF_KEY_F21 
GF_KEY_F22 
GF_KEY_F23 
GF_KEY_F24 
GF_KEY_FINALMODE 
GF_KEY_FIND 
GF_KEY_FULLWIDTH 
GF_KEY_HALFWIDTH 
GF_KEY_HANGULMODE 
GF_KEY_HANJAMODE 
GF_KEY_HELP 
GF_KEY_HIRAGANA 
GF_KEY_HOME 
GF_KEY_INSERT 
GF_KEY_JAPANESEHIRAGANA 
GF_KEY_JAPANESEKATAKANA 
GF_KEY_JAPANESEROMAJI 
GF_KEY_JUNJAMODE 
GF_KEY_KANAMODE 
GF_KEY_KANJIMODE 
GF_KEY_KATAKANA 
GF_KEY_LAUNCHAPPLICATION1 
GF_KEY_LAUNCHAPPLICATION2 
GF_KEY_LAUNCHMAIL 
GF_KEY_LEFT 
GF_KEY_META 
GF_KEY_MEDIANEXTTRACK 
GF_KEY_MEDIAPLAYPAUSE 
GF_KEY_MEDIAPREVIOUSTRACK 
GF_KEY_MEDIASTOP 
GF_KEY_MODECHANGE 
GF_KEY_NONCONVERT 
GF_KEY_NUMLOCK 
GF_KEY_PAGEDOWN 
GF_KEY_PAGEUP 
GF_KEY_PASTE 
GF_KEY_PAUSE 
GF_KEY_PLAY 
GF_KEY_PREVIOUSCANDIDATE 
GF_KEY_PRINTSCREEN 
GF_KEY_PROCESS 
GF_KEY_PROPS 
GF_KEY_RIGHT 
GF_KEY_ROMANCHARACTERS 
GF_KEY_SCROLL 
GF_KEY_SELECT 
GF_KEY_SELECTMEDIA 
GF_KEY_SHIFT 
GF_KEY_STOP 
GF_KEY_UP 
GF_KEY_UNDO 
GF_KEY_VOLUMEDOWN 
GF_KEY_VOLUMEMUTE 
GF_KEY_VOLUMEUP 
GF_KEY_WIN 
GF_KEY_ZOOM 
GF_KEY_BACKSPACE 
GF_KEY_TAB 
GF_KEY_CANCEL 
GF_KEY_ESCAPE 
GF_KEY_SPACE 
GF_KEY_EXCLAMATION 
GF_KEY_QUOTATION 
GF_KEY_NUMBER 
GF_KEY_DOLLAR 
GF_KEY_AMPERSAND 
GF_KEY_APOSTROPHE 
GF_KEY_LEFTPARENTHESIS 
GF_KEY_RIGHTPARENTHESIS 
GF_KEY_STAR 
GF_KEY_PLUS 
GF_KEY_COMMA 
GF_KEY_HYPHEN 
GF_KEY_FULLSTOP 
GF_KEY_SLASH 
GF_KEY_0 
GF_KEY_1 
GF_KEY_2 
GF_KEY_3 
GF_KEY_4 
GF_KEY_5 
GF_KEY_6 
GF_KEY_7 
GF_KEY_8 
GF_KEY_9 
GF_KEY_COLON 
GF_KEY_SEMICOLON 
GF_KEY_LESSTHAN 
GF_KEY_EQUALS 
GF_KEY_GREATERTHAN 
GF_KEY_QUESTION 
GF_KEY_AT 
GF_KEY_A 
GF_KEY_B 
GF_KEY_C 
GF_KEY_D 
GF_KEY_E 
GF_KEY_F 
GF_KEY_G 
GF_KEY_H 
GF_KEY_I 
GF_KEY_J 
GF_KEY_K 
GF_KEY_L 
GF_KEY_M 
GF_KEY_N 
GF_KEY_O 
GF_KEY_P 
GF_KEY_Q 
GF_KEY_R 
GF_KEY_S 
GF_KEY_T 
GF_KEY_U 
GF_KEY_V 
GF_KEY_W 
GF_KEY_X 
GF_KEY_Y 
GF_KEY_Z 
GF_KEY_LEFTSQUAREBRACKET 
GF_KEY_BACKSLASH 
GF_KEY_RIGHTSQUAREBRACKET 
GF_KEY_CIRCUM 
GF_KEY_UNDERSCORE 
GF_KEY_GRAVEACCENT 
GF_KEY_LEFTCURLYBRACKET 
GF_KEY_PIPE 
GF_KEY_RIGHTCURLYBRACKET 
GF_KEY_DEL 
GF_KEY_INVERTEXCLAMATION 
GF_KEY_DEADGRAVE 
GF_KEY_DEADEACUTE 
GF_KEY_DEADCIRCUM 
GF_KEY_DEADTILDE 
GF_KEY_DEADMACRON 
GF_KEY_DEADBREVE 
GF_KEY_DEADABOVEDOT 
GF_KEY_DEADDIARESIS 
GF_KEY_DEADRINGABOVE 
GF_KEY_DEADDOUBLEACUTE 
GF_KEY_DEADCARON 
GF_KEY_DEADCEDILLA 
GF_KEY_DEADOGONEK 
GF_KEY_DEADIOTA 
GF_KEY_EURO 
GF_KEY_DEADVOICESOUND 
GF_KEY_DEADSEMIVOICESOUND 
GF_KEY_CHANNELUP 
GF_KEY_CHANNELDOWN 
GF_KEY_TEXT 
GF_KEY_INFO 
GF_KEY_EPG 
GF_KEY_RECORD 
GF_KEY_BEGINPAGE 
GF_KEY_CELL_SOFT1 
GF_KEY_CELL_SOFT2 

◆ GF_KeyModifier

key modifiers state

Enumerator
GF_KEY_MOD_SHIFT 
GF_KEY_MOD_CTRL 
GF_KEY_MOD_ALT 
GF_KEY_EXT_NUMPAD 
GF_KEY_EXT_LEFT 
GF_KEY_EXT_RIGHT 

◆ anonymous enum

anonymous enum

Sensor apperance signaling

Enumerator
GF_CURSOR_NORMAL 
GF_CURSOR_ANCHOR 
GF_CURSOR_TOUCH 
GF_CURSOR_ROTATE 
GF_CURSOR_PROXIMITY 
GF_CURSOR_PLANE 
GF_CURSOR_COLLIDE 
GF_CURSOR_HIDE