![]() |
Kodi Documentation
18.0
Kodi is an open source media player and entertainment hub.
|
#include "versions.h"
#include "xbmc_addon_types.h"
#include <stddef.h>
#include <stdint.h>
#include "input/XBMC_vkeys.h"
Macros | |
#define | ATTRIBUTE_PACKED |
#define | PRAGMA_PACK 1 |
#define | DEFAULT_PORT_ID "1" |
Typedefs | |
Software framebuffer stream | |
} { | |
typedef game_stream_video_properties | game_stream_sw_framebuffer_properties |
typedef struct game_stream_sw_framebuffer_buffer | game_stream_sw_framebuffer_buffer |
typedef game_stream_video_packet | game_stream_sw_framebuffer_packet |
Environment types | |
} { | |
typedef struct AddonProps_Game | AddonProps_Game |
} More... | |
typedef AddonProps_Game | game_client_properties |
typedef struct AddonToKodiFuncTable_Game | AddonToKodiFuncTable_Game |
typedef struct KodiToAddonFuncTable_Game | KodiToAddonFuncTable_Game |
typedef struct AddonInstance_Game | AddonInstance_Game |
Add-on types | |
enum | GAME_ERROR { GAME_ERROR_NO_ERROR, GAME_ERROR_UNKNOWN, GAME_ERROR_NOT_IMPLEMENTED, GAME_ERROR_REJECTED, GAME_ERROR_INVALID_PARAMETERS, GAME_ERROR_FAILED, GAME_ERROR_NOT_LOADED, GAME_ERROR_RESTRICTED } |
typedef enum GAME_ERROR | GAME_ERROR |
Audio stream | |
{ | |
enum | GAME_PCM_FORMAT { GAME_PCM_FORMAT_UNKNOWN, GAME_PCM_FORMAT_S16NE } |
enum | GAME_AUDIO_CHANNEL { GAME_CH_NULL, GAME_CH_FL, GAME_CH_FR, GAME_CH_FC, GAME_CH_LFE, GAME_CH_BL, GAME_CH_BR, GAME_CH_FLOC, GAME_CH_FROC, GAME_CH_BC, GAME_CH_SL, GAME_CH_SR, GAME_CH_TFL, GAME_CH_TFR, GAME_CH_TFC, GAME_CH_TC, GAME_CH_TBL, GAME_CH_TBR, GAME_CH_TBC, GAME_CH_BLOC, GAME_CH_BROC } |
typedef enum GAME_PCM_FORMAT | GAME_PCM_FORMAT |
typedef enum GAME_AUDIO_CHANNEL | GAME_AUDIO_CHANNEL |
typedef struct game_stream_audio_properties | game_stream_audio_properties |
typedef struct game_stream_audio_packet | game_stream_audio_packet |
Video stream | |
{ | |
enum | GAME_PIXEL_FORMAT { GAME_PIXEL_FORMAT_UNKNOWN, GAME_PIXEL_FORMAT_0RGB8888, GAME_PIXEL_FORMAT_RGB565, GAME_PIXEL_FORMAT_0RGB1555 } |
enum | GAME_VIDEO_ROTATION { GAME_VIDEO_ROTATION_0, GAME_VIDEO_ROTATION_90_CCW, GAME_VIDEO_ROTATION_180_CCW, GAME_VIDEO_ROTATION_270_CCW } |
typedef enum GAME_PIXEL_FORMAT | GAME_PIXEL_FORMAT |
typedef enum GAME_VIDEO_ROTATION | GAME_VIDEO_ROTATION |
typedef struct game_stream_video_properties | game_stream_video_properties |
typedef struct game_stream_video_packet | game_stream_video_packet |
Hardware framebuffer stream | |
{ | |
enum | GAME_HW_CONTEXT_TYPE { GAME_HW_CONTEXT_NONE, GAME_HW_CONTEXT_OPENGL, GAME_HW_CONTEXT_OPENGLES2, GAME_HW_CONTEXT_OPENGL_CORE, GAME_HW_CONTEXT_OPENGLES3, GAME_HW_CONTEXT_OPENGLES_VERSION, GAME_HW_CONTEXT_VULKAN } |
typedef enum GAME_HW_CONTEXT_TYPE | GAME_HW_CONTEXT_TYPE |
typedef struct game_stream_hw_framebuffer_properties | game_stream_hw_framebuffer_properties |
typedef struct game_stream_hw_framebuffer_buffer | game_stream_hw_framebuffer_buffer |
typedef struct game_stream_hw_framebuffer_packet | game_stream_hw_framebuffer_packet |
typedef void(* | game_proc_address_t) (void) |
Stream types | |
{ | |
enum | GAME_STREAM_TYPE { GAME_STREAM_UNKNOWN, GAME_STREAM_AUDIO, GAME_STREAM_VIDEO, GAME_STREAM_HW_FRAMEBUFFER, GAME_STREAM_SW_FRAMEBUFFER } |
typedef enum GAME_STREAM_TYPE | GAME_STREAM_TYPE |
typedef struct game_stream_properties | game_stream_properties |
Immutable stream metadata. More... | |
typedef struct game_stream_buffer | game_stream_buffer |
Stream buffers for hardware rendering and zero-copy support. More... | |
typedef struct game_stream_packet | game_stream_packet |
Stream packet and ephemeral metadata. More... | |
#define ATTRIBUTE_PACKED |
#define DEFAULT_PORT_ID "1" |
Port ID used when topology is unknown
#define PRAGMA_PACK 1 |
typedef struct AddonInstance_Game AddonInstance_Game |
typedef struct AddonProps_Game AddonProps_Game |
}
Properties passed to the ADDON_Create() method of a game client
typedef struct AddonToKodiFuncTable_Game AddonToKodiFuncTable_Game |
Structure to transfer the methods from kodi_game_dll.h to Kodi
typedef struct game_abs_pointer_event game_abs_pointer_event |
typedef struct game_accelerometer_event game_accelerometer_event |
typedef struct game_analog_button_event game_analog_button_event |
typedef struct game_analog_stick_event game_analog_stick_event |
typedef enum GAME_AUDIO_CHANNEL GAME_AUDIO_CHANNEL |
typedef struct game_axis_event game_axis_event |
typedef struct game_controller game_controller |
typedef struct game_digital_button_event game_digital_button_event |
typedef enum GAME_ERROR GAME_ERROR |
Game add-on error codes
typedef enum GAME_HW_CONTEXT_TYPE GAME_HW_CONTEXT_TYPE |
typedef struct game_input_device game_input_device |
Device that can provide input.
typedef struct game_input_event game_input_event |
typedef enum GAME_INPUT_EVENT_SOURCE GAME_INPUT_EVENT_SOURCE |
typedef struct game_input_port game_input_port |
Port that can provide input.
Ports can accept multiple devices and devices can have multiple ports, so the topology of possible configurations is a tree structure of alternating port and device nodes.
typedef struct game_input_topology game_input_topology |
The input topology is the possible ways to connect input devices.
This represents the logical topology, which is the possible connections that the game client's logic can handle. It is strictly a subset of the physical topology. Loops are not allowed.
typedef struct game_key_event game_key_event |
typedef enum GAME_KEY_MOD GAME_KEY_MOD |
typedef enum GAME_MEMORY GAME_MEMORY |
typedef struct game_motor_event game_motor_event |
typedef enum GAME_PCM_FORMAT GAME_PCM_FORMAT |
typedef enum GAME_PIXEL_FORMAT GAME_PIXEL_FORMAT |
typedef enum GAME_PORT_TYPE GAME_PORT_TYPE |
Type of port on the virtual game console.
typedef enum GAME_REGION GAME_REGION |
Returned from game_get_region()
typedef struct game_rel_pointer_event game_rel_pointer_event |
typedef struct game_stream_audio_packet game_stream_audio_packet |
typedef struct game_stream_audio_properties game_stream_audio_properties |
typedef struct game_stream_buffer game_stream_buffer |
Stream buffers for hardware rendering and zero-copy support.
typedef struct game_stream_packet game_stream_packet |
Stream packet and ephemeral metadata.
This packet contains stream data and accompanying metadata. The metadata is ephemeral, meaning it only applies to the current packet and can change from packet to packet in the same stream.
typedef struct game_stream_properties game_stream_properties |
Immutable stream metadata.
This metadata is provided when the stream is opened. If any stream properties change, a new stream must be opened.
typedef enum GAME_STREAM_TYPE GAME_STREAM_TYPE |
typedef struct game_stream_video_packet game_stream_video_packet |
typedef struct game_stream_video_properties game_stream_video_properties |
typedef enum GAME_VIDEO_ROTATION GAME_VIDEO_ROTATION |
typedef struct KodiToAddonFuncTable_Game KodiToAddonFuncTable_Game |
typedef enum SPECIAL_GAME_TYPE SPECIAL_GAME_TYPE |
Special game types passed into game_load_game_special(). Only used when multiple ROMs are required.
enum GAME_AUDIO_CHANNEL |
enum GAME_ERROR |
enum GAME_HW_CONTEXT_TYPE |
enum GAME_KEY_MOD |
enum GAME_MEMORY |
enum GAME_PCM_FORMAT |
enum GAME_PIXEL_FORMAT |
enum GAME_PORT_TYPE |
enum GAME_REGION |
enum GAME_SIMD |
enum GAME_STREAM_TYPE |
enum GAME_VIDEO_ROTATION |
enum SPECIAL_GAME_TYPE |