Kodi Documentation  18.0
Kodi is an open source media player and entertainment hub.
xbmc_pvr_types.h File Reference
#include <string.h>
#include <stdint.h>
#include <stdio.h>
#include "xbmc_addon_types.h"
#include "xbmc_epg_types.h"

Classes

struct  xbmc_codec_t
 
struct  PVR_NAMED_VALUE
 Representation of a named value. More...
 
struct  PVR_PROPERTIES
 Properties passed to the Create() method of an add-on. More...
 
struct  PVR_ATTRIBUTE_INT_VALUE
 Representation of a general attribute integer value. More...
 
struct  PVR_ADDON_CAPABILITIES
 PVR add-on capabilities. All capabilities are set to "false" or 0 as default If a capability is set to true, then the corresponding methods from xbmc_pvr_dll.h need to be implemented. More...
 
struct  PVR_STREAM_PROPERTIES
 PVR stream properties. More...
 
struct  PVR_STREAM_PROPERTIES::PVR_STREAM
 
struct  PVR_SIGNAL_STATUS
 Signal status information. More...
 
struct  PVR_DESCRAMBLE_INFO
 descramble information More...
 
struct  PVR_MENUHOOK
 Menu hooks that are available in the context menus while playing a stream via this add-on. And in the Live TV settings dialog. More...
 
struct  PVR_CHANNEL
 Representation of a TV or radio channel. More...
 
struct  PVR_CHANNEL_GROUP
 
struct  PVR_CHANNEL_GROUP_MEMBER
 
struct  PVR_TIMER_TYPE
 Representation of a timer type. More...
 
struct  PVR_TIMER
 Representation of a timer event. More...
 
struct  PVR_RECORDING
 Representation of a recording. More...
 
struct  PVR_EDL_ENTRY
 
struct  PVR_MENUHOOK_DATA
 PVR menu hook data. More...
 
union  PVR_MENUHOOK_DATA::data
 
struct  PVR_STREAM_TIMES
 times of playing stream (Live TV and recordings) More...
 
struct  AddonToKodiFuncTable_PVR
 
struct  KodiToAddonFuncTable_PVR
 Structure to transfer the methods from xbmc_pvr_dll.h to Kodi. More...
 
struct  AddonInstance_PVR
 

Macros

#define __cdecl
 
#define __declspec(X)
 
#define ATTRIBUTE_PACKED
 
#define PRAGMA_PACK   1
 
#define PVR_ADDON_NAME_STRING_LENGTH   1024
 
#define PVR_ADDON_URL_STRING_LENGTH   1024
 
#define PVR_ADDON_DESC_STRING_LENGTH   1024
 
#define PVR_ADDON_INPUT_FORMAT_STRING_LENGTH   32
 
#define PVR_ADDON_EDL_LENGTH   32
 
#define PVR_ADDON_TIMERTYPE_ARRAY_SIZE   32
 
#define PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE   512
 
#define PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE_SMALL   128
 
#define PVR_ADDON_TIMERTYPE_STRING_LENGTH   64
 
#define PVR_ADDON_ATTRIBUTE_DESC_LENGTH   64
 
#define PVR_ADDON_ATTRIBUTE_VALUES_ARRAY_SIZE   512
 
#define PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH   64
 
#define XBMC_INVALID_CODEC_ID   0
 
#define XBMC_INVALID_CODEC   { XBMC_CODEC_TYPE_UNKNOWN, XBMC_INVALID_CODEC_ID }
 
#define PVR_STREAM_MAX_PROPERTIES   20
 
#define PVR_STREAM_PROPERTY_STREAMURL   "streamurl"
 the URL of the stream that should be played. More...
 
#define PVR_STREAM_PROPERTY_INPUTSTREAMADDON   "inputstreamaddon"
 the name of the inputstream add-on that should be used by Kodi to play the stream denoted by PVR_STREAM_PROPERTY_STREAMURL. Leave blank to use Kodi's built-in playing capabilities. More...
 
#define PVR_STREAM_PROPERTY_MIMETYPE   "mimetype"
 the MIME type of the stream that should be played. More...
 
#define PVR_STREAM_PROPERTY_ISREALTIMESTREAM   "isrealtimestream"
 "true" to denote that the stream that should be played is a realtime stream. Any other value indicates that this is no realtime stream. More...
 
#define PVR_STREAM_MAX_STREAMS   20
 

Typedefs

typedef unsigned int xbmc_codec_id_t
 
typedef struct PVR_NAMED_VALUE PVR_NAMED_VALUE
 Representation of a named value. More...
 
typedef struct PVR_PROPERTIES PVR_PROPERTIES
 Properties passed to the Create() method of an add-on. More...
 
typedef struct PVR_ATTRIBUTE_INT_VALUE PVR_ATTRIBUTE_INT_VALUE
 Representation of a general attribute integer value. More...
 
typedef struct PVR_ADDON_CAPABILITIES PVR_ADDON_CAPABILITIES
 PVR add-on capabilities. All capabilities are set to "false" or 0 as default If a capability is set to true, then the corresponding methods from xbmc_pvr_dll.h need to be implemented. More...
 
typedef struct PVR_STREAM_PROPERTIES PVR_STREAM_PROPERTIES
 PVR stream properties. More...
 
typedef struct PVR_SIGNAL_STATUS PVR_SIGNAL_STATUS
 Signal status information. More...
 
typedef struct PVR_DESCRAMBLE_INFO PVR_DESCRAMBLE_INFO
 descramble information More...
 
typedef struct PVR_MENUHOOK PVR_MENUHOOK
 Menu hooks that are available in the context menus while playing a stream via this add-on. And in the Live TV settings dialog. More...
 
typedef struct PVR_CHANNEL PVR_CHANNEL
 Representation of a TV or radio channel. More...
 
typedef struct PVR_CHANNEL_GROUP PVR_CHANNEL_GROUP
 
typedef struct PVR_CHANNEL_GROUP_MEMBER PVR_CHANNEL_GROUP_MEMBER
 
typedef PVR_ATTRIBUTE_INT_VALUE PVR_TIMER_TYPE_ATTRIBUTE_INT_VALUE
 Representation of a timer type's attribute integer value. More...
 
typedef struct PVR_TIMER_TYPE PVR_TIMER_TYPE
 Representation of a timer type. More...
 
typedef struct PVR_TIMER PVR_TIMER
 Representation of a timer event. More...
 
typedef struct PVR_RECORDING PVR_RECORDING
 Representation of a recording. More...
 
typedef struct PVR_EDL_ENTRY PVR_EDL_ENTRY
 
typedef struct PVR_MENUHOOK_DATA PVR_MENUHOOK_DATA
 PVR menu hook data. More...
 
typedef struct PVR_STREAM_TIMES PVR_STREAM_TIMES
 times of playing stream (Live TV and recordings) More...
 
typedef struct AddonToKodiFuncTable_PVR AddonToKodiFuncTable_PVR
 
typedef struct KodiToAddonFuncTable_PVR KodiToAddonFuncTable_PVR
 Structure to transfer the methods from xbmc_pvr_dll.h to Kodi. More...
 
typedef struct AddonInstance_PVR AddonInstance_PVR
 

Enumerations

enum  xbmc_codec_type_t {
  XBMC_CODEC_TYPE_UNKNOWN = -1, XBMC_CODEC_TYPE_VIDEO, XBMC_CODEC_TYPE_AUDIO, XBMC_CODEC_TYPE_DATA,
  XBMC_CODEC_TYPE_SUBTITLE, XBMC_CODEC_TYPE_RDS, XBMC_CODEC_TYPE_NB
}
 
enum  PVR_ERROR {
  PVR_ERROR_NO_ERROR = 0, PVR_ERROR_UNKNOWN = -1, PVR_ERROR_NOT_IMPLEMENTED = -2, PVR_ERROR_SERVER_ERROR = -3,
  PVR_ERROR_SERVER_TIMEOUT = -4, PVR_ERROR_REJECTED = -5, PVR_ERROR_ALREADY_PRESENT = -6, PVR_ERROR_INVALID_PARAMETERS = -7,
  PVR_ERROR_RECORDING_RUNNING = -8, PVR_ERROR_FAILED = -9
}
 PVR add-on error codes. More...
 
enum  PVR_TIMER_STATE {
  PVR_TIMER_STATE_NEW = 0, PVR_TIMER_STATE_SCHEDULED = 1, PVR_TIMER_STATE_RECORDING = 2, PVR_TIMER_STATE_COMPLETED = 3,
  PVR_TIMER_STATE_ABORTED = 4, PVR_TIMER_STATE_CANCELLED = 5, PVR_TIMER_STATE_CONFLICT_OK = 6, PVR_TIMER_STATE_CONFLICT_NOK = 7,
  PVR_TIMER_STATE_ERROR = 8, PVR_TIMER_STATE_DISABLED = 9
}
 PVR timer states. More...
 
enum  PVR_MENUHOOK_CAT {
  PVR_MENUHOOK_UNKNOWN =-1, PVR_MENUHOOK_ALL = 0, PVR_MENUHOOK_CHANNEL = 1, PVR_MENUHOOK_TIMER = 2,
  PVR_MENUHOOK_EPG = 3, PVR_MENUHOOK_RECORDING = 4, PVR_MENUHOOK_DELETED_RECORDING = 5, PVR_MENUHOOK_SETTING = 6
}
 PVR menu hook categories. More...
 
enum  PVR_CONNECTION_STATE {
  PVR_CONNECTION_STATE_UNKNOWN = 0, PVR_CONNECTION_STATE_SERVER_UNREACHABLE = 1, PVR_CONNECTION_STATE_SERVER_MISMATCH = 2, PVR_CONNECTION_STATE_VERSION_MISMATCH = 3,
  PVR_CONNECTION_STATE_ACCESS_DENIED = 4, PVR_CONNECTION_STATE_CONNECTED = 5, PVR_CONNECTION_STATE_DISCONNECTED = 6, PVR_CONNECTION_STATE_CONNECTING = 7
}
 PVR backend connection states. Used with ConnectionStateChange callback. More...
 
enum  PVR_RECORDING_CHANNEL_TYPE { PVR_RECORDING_CHANNEL_TYPE_UNKNOWN = 0, PVR_RECORDING_CHANNEL_TYPE_TV = 1, PVR_RECORDING_CHANNEL_TYPE_RADIO = 2 }
 PVR recording channel types. More...
 
enum  PVR_EDL_TYPE { PVR_EDL_TYPE_CUT = 0, PVR_EDL_TYPE_MUTE = 1, PVR_EDL_TYPE_SCENE = 2, PVR_EDL_TYPE_COMBREAK = 3 }
 Edit definition list (EDL) More...
 

Variables

const unsigned int PVR_TIMER_TYPE_NONE = 0
 numeric PVR timer type definitions (PVR_TIMER.iTimerType values) More...
 
const unsigned int PVR_TIMER_NO_CLIENT_INDEX = 0
 special PVR_TIMER.iClientIndex value to indicate that a timer has not (yet) a valid client index. More...
 
const unsigned int PVR_TIMER_NO_PARENT = PVR_TIMER_NO_CLIENT_INDEX
 special PVR_TIMER.iParentClientIndex value to indicate that a timer has no parent. More...
 
const unsigned int PVR_TIMER_NO_EPG_UID = EPG_TAG_INVALID_UID
 special PVR_TIMER.iEpgUid value to indicate that a timer has no EPG event uid. More...
 
const int PVR_TIMER_ANY_CHANNEL = -1
 special PVR_TIMER.iClientChannelUid value to indicate "any channel". Useful for some repeating timer types. More...
 
const unsigned int PVR_TIMER_TYPE_ATTRIBUTE_NONE = 0x00000000
 PVR timer type attributes (PVR_TIMER_TYPE.iAttributes values) More...
 
const unsigned int PVR_TIMER_TYPE_IS_MANUAL = 0x00000001
 defines whether this is a type for manual (time-based) or epg-based timers More...
 
const unsigned int PVR_TIMER_TYPE_IS_REPEATING = 0x00000002
 defines whether this is a type for repeating or one-shot timers More...
 
const unsigned int PVR_TIMER_TYPE_IS_READONLY = 0x00000004
 timers of this type must not be edited by Kodi More...
 
const unsigned int PVR_TIMER_TYPE_FORBIDS_NEW_INSTANCES = 0x00000008
 timers of this type must not be created by Kodi. All other operations are allowed, though More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_ENABLE_DISABLE = 0x00000010
 this type supports enabling/disabling of the timer (PVR_TIMER.state SCHEDULED|DISABLED) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_CHANNELS = 0x00000020
 this type supports channels (PVR_TIMER.iClientChannelUid) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_START_TIME = 0x00000040
 this type supports a recording start time (PVR_TIMER.startTime) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_TITLE_EPG_MATCH = 0x00000080
 this type supports matching epg episode title using PVR_TIMER.strEpgSearchString More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_FULLTEXT_EPG_MATCH = 0x00000100
 this type supports matching "more" epg data (not just episode title) using PVR_TIMER.strEpgSearchString. Setting FULLTEXT_EPG_MATCH implies TITLE_EPG_MATCH More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_FIRST_DAY = 0x00000200
 this type supports a first day the timer gets active (PVR_TIMER.firstday) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_WEEKDAYS = 0x00000400
 this type supports weekdays for defining the recording schedule (PVR_TIMER.iWeekdays) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_RECORD_ONLY_NEW_EPISODES = 0x00000800
 this type supports the "record only new episodes" feature (PVR_TIMER.iPreventDuplicateEpisodes) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_START_END_MARGIN = 0x00001000
 this type supports pre and post record time (PVR_TIMER.iMarginStart, PVR_TIMER.iMarginEnd) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_PRIORITY = 0x00002000
 this type supports recording priority (PVR_TIMER.iPriority) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_LIFETIME = 0x00004000
 this type supports recording lifetime (PVR_TIMER.iLifetime) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_RECORDING_FOLDERS = 0x00008000
 this type supports placing recordings in user defined folders (PVR_TIMER.strDirectory) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_RECORDING_GROUP = 0x00010000
 this type supports a list of recording groups (PVR_TIMER.iRecordingGroup) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_END_TIME = 0x00020000
 this type supports a recording end time (PVR_TIMER.endTime) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_START_ANYTIME = 0x00040000
 enables an 'Any Time' over-ride option for startTime (using PVR_TIMER.bStartAnyTime) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_END_ANYTIME = 0x00080000
 enables a separate 'Any Time' over-ride for endTime (using PVR_TIMER.bEndAnyTime) More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_MAX_RECORDINGS = 0x00100000
 this type supports specifying a maximum recordings setting' (PVR_TIMER.iMaxRecordings) More...
 
const unsigned int PVR_TIMER_TYPE_REQUIRES_EPG_TAG_ON_CREATE = 0x00200000
 this type should not appear on any create menus which don't provide an associated EPG tag More...
 
const unsigned int PVR_TIMER_TYPE_FORBIDS_EPG_TAG_ON_CREATE = 0x00400000
 this type should not appear on any create menus which provide an associated EPG tag More...
 
const unsigned int PVR_TIMER_TYPE_REQUIRES_EPG_SERIES_ON_CREATE = 0x00800000
 this type should not appear on any create menus unless associated with an EPG tag with 'series' attributes (EPG_TAG.iFlags & EPG_TAG_FLAG_IS_SERIES || EPG_TAG.iSeriesNumber > 0 || EPG_TAG.iEpisodeNumber > 0 || EPG_TAG.iEpisodePartNumber > 0). Implies PVR_TIMER_TYPE_REQUIRES_EPG_TAG_ON_CREATE More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_ANY_CHANNEL = 0x01000000
 this type supports 'any channel', for example when defining a timer rule that should match any channel instaed of a particular channel More...
 
const unsigned int PVR_TIMER_TYPE_REQUIRES_EPG_SERIESLINK_ON_CREATE = 0x02000000
 this type should not appear on any create menus which don't provide an associated EPG tag with a series link More...
 
const unsigned int PVR_TIMER_TYPE_SUPPORTS_READONLY_DELETE = 0x04000000
 this type allows deletion of an otherwise read-only timer More...
 
const unsigned int PVR_WEEKDAY_NONE = 0x00
 PVR timer weekdays (PVR_TIMER.iWeekdays values) More...
 
const unsigned int PVR_WEEKDAY_MONDAY = 0x01
 
const unsigned int PVR_WEEKDAY_TUESDAY = 0x02
 
const unsigned int PVR_WEEKDAY_WEDNESDAY = 0x04
 
const unsigned int PVR_WEEKDAY_THURSDAY = 0x08
 
const unsigned int PVR_WEEKDAY_FRIDAY = 0x10
 
const unsigned int PVR_WEEKDAY_SATURDAY = 0x20
 
const unsigned int PVR_WEEKDAY_SUNDAY = 0x40
 
const unsigned int PVR_WEEKDAY_ALLDAYS
 
const int EPG_TIMEFRAME_UNLIMITED = -1
 timeframe value for use with SetEPGTimeFrame function to indicate "no timeframe". More...
 
const int PVR_CHANNEL_INVALID_UID = -1
 special PVR_TIMER.iClientChannelUid and PVR_RECORDING.iChannelUid value to indicate that no channel uid is available. More...
 
const int PVR_DESCRAMBLE_INFO_NOT_AVAILABLE = -1
 special PVR_DESCRAMBLE_INFO value to indicate that a struct member's value is not available. More...
 

Macro Definition Documentation

§ __cdecl

#define __cdecl

§ __declspec

#define __declspec (   X)

§ ATTRIBUTE_PACKED

§ PRAGMA_PACK

#define PRAGMA_PACK   1

§ PVR_ADDON_ATTRIBUTE_DESC_LENGTH

#define PVR_ADDON_ATTRIBUTE_DESC_LENGTH   64

§ PVR_ADDON_ATTRIBUTE_VALUES_ARRAY_SIZE

#define PVR_ADDON_ATTRIBUTE_VALUES_ARRAY_SIZE   512

§ PVR_ADDON_DESC_STRING_LENGTH

#define PVR_ADDON_DESC_STRING_LENGTH   1024

§ PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH

#define PVR_ADDON_DESCRAMBLE_INFO_STRING_LENGTH   64

§ PVR_ADDON_EDL_LENGTH

#define PVR_ADDON_EDL_LENGTH   32

§ PVR_ADDON_INPUT_FORMAT_STRING_LENGTH

#define PVR_ADDON_INPUT_FORMAT_STRING_LENGTH   32

§ PVR_ADDON_NAME_STRING_LENGTH

#define PVR_ADDON_NAME_STRING_LENGTH   1024

§ PVR_ADDON_TIMERTYPE_ARRAY_SIZE

#define PVR_ADDON_TIMERTYPE_ARRAY_SIZE   32

§ PVR_ADDON_TIMERTYPE_STRING_LENGTH

#define PVR_ADDON_TIMERTYPE_STRING_LENGTH   64

§ PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE

#define PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE   512

§ PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE_SMALL

#define PVR_ADDON_TIMERTYPE_VALUES_ARRAY_SIZE_SMALL   128

§ PVR_ADDON_URL_STRING_LENGTH

#define PVR_ADDON_URL_STRING_LENGTH   1024

§ PVR_STREAM_MAX_PROPERTIES

#define PVR_STREAM_MAX_PROPERTIES   20

§ PVR_STREAM_MAX_STREAMS

#define PVR_STREAM_MAX_STREAMS   20

§ PVR_STREAM_PROPERTY_INPUTSTREAMADDON

#define PVR_STREAM_PROPERTY_INPUTSTREAMADDON   "inputstreamaddon"

the name of the inputstream add-on that should be used by Kodi to play the stream denoted by PVR_STREAM_PROPERTY_STREAMURL. Leave blank to use Kodi's built-in playing capabilities.

§ PVR_STREAM_PROPERTY_ISREALTIMESTREAM

#define PVR_STREAM_PROPERTY_ISREALTIMESTREAM   "isrealtimestream"

"true" to denote that the stream that should be played is a realtime stream. Any other value indicates that this is no realtime stream.

§ PVR_STREAM_PROPERTY_MIMETYPE

#define PVR_STREAM_PROPERTY_MIMETYPE   "mimetype"

the MIME type of the stream that should be played.

§ PVR_STREAM_PROPERTY_STREAMURL

#define PVR_STREAM_PROPERTY_STREAMURL   "streamurl"

the URL of the stream that should be played.

§ XBMC_INVALID_CODEC

#define XBMC_INVALID_CODEC   { XBMC_CODEC_TYPE_UNKNOWN, XBMC_INVALID_CODEC_ID }

§ XBMC_INVALID_CODEC_ID

#define XBMC_INVALID_CODEC_ID   0

Typedef Documentation

§ AddonInstance_PVR

§ AddonToKodiFuncTable_PVR

§ KodiToAddonFuncTable_PVR

Structure to transfer the methods from xbmc_pvr_dll.h to Kodi.

§ PVR_ADDON_CAPABILITIES

PVR add-on capabilities. All capabilities are set to "false" or 0 as default If a capability is set to true, then the corresponding methods from xbmc_pvr_dll.h need to be implemented.

§ PVR_ATTRIBUTE_INT_VALUE

Representation of a general attribute integer value.

§ PVR_CHANNEL

typedef struct PVR_CHANNEL PVR_CHANNEL

Representation of a TV or radio channel.

§ PVR_CHANNEL_GROUP

§ PVR_CHANNEL_GROUP_MEMBER

§ PVR_DESCRAMBLE_INFO

descramble information

§ PVR_EDL_ENTRY

typedef struct PVR_EDL_ENTRY PVR_EDL_ENTRY

§ PVR_MENUHOOK

typedef struct PVR_MENUHOOK PVR_MENUHOOK

Menu hooks that are available in the context menus while playing a stream via this add-on. And in the Live TV settings dialog.

§ PVR_MENUHOOK_DATA

PVR menu hook data.

§ PVR_NAMED_VALUE

Representation of a named value.

§ PVR_PROPERTIES

Properties passed to the Create() method of an add-on.

§ PVR_RECORDING

typedef struct PVR_RECORDING PVR_RECORDING

Representation of a recording.

§ PVR_SIGNAL_STATUS

Signal status information.

§ PVR_STREAM_PROPERTIES

PVR stream properties.

§ PVR_STREAM_TIMES

times of playing stream (Live TV and recordings)

§ PVR_TIMER

typedef struct PVR_TIMER PVR_TIMER

Representation of a timer event.

§ PVR_TIMER_TYPE

Representation of a timer type.

§ PVR_TIMER_TYPE_ATTRIBUTE_INT_VALUE

Representation of a timer type's attribute integer value.

§ xbmc_codec_id_t

typedef unsigned int xbmc_codec_id_t

Enumeration Type Documentation

§ PVR_CONNECTION_STATE

PVR backend connection states. Used with ConnectionStateChange callback.

Enumerator
PVR_CONNECTION_STATE_UNKNOWN 

unknown state (e.g. not yet tried to connect)

PVR_CONNECTION_STATE_SERVER_UNREACHABLE 

backend server is not reachable (e.g. server not existing or network down)

PVR_CONNECTION_STATE_SERVER_MISMATCH 

backend server is reachable, but there is not the expected type of server running (e.g. HTSP required, but FTP running at given server:port)

PVR_CONNECTION_STATE_VERSION_MISMATCH 

backend server is reachable, but server version does not match client requirements

PVR_CONNECTION_STATE_ACCESS_DENIED 

backend server is reachable, but denies client access (e.g. due to wrong credentials)

PVR_CONNECTION_STATE_CONNECTED 

connection to backend server is established

PVR_CONNECTION_STATE_DISCONNECTED 

no connection to backend server (e.g. due to network errors or client initiated disconnect)

PVR_CONNECTION_STATE_CONNECTING 

connecting to backend

§ PVR_EDL_TYPE

Edit definition list (EDL)

Enumerator
PVR_EDL_TYPE_CUT 

cut (completely remove content)

PVR_EDL_TYPE_MUTE 

mute audio

PVR_EDL_TYPE_SCENE 

scene markers (chapter seeking)

PVR_EDL_TYPE_COMBREAK 

commercial breaks

§ PVR_ERROR

enum PVR_ERROR

PVR add-on error codes.

Enumerator
PVR_ERROR_NO_ERROR 

no error occurred

PVR_ERROR_UNKNOWN 

an unknown error occurred

PVR_ERROR_NOT_IMPLEMENTED 

the method that Kodi called is not implemented by the add-on

PVR_ERROR_SERVER_ERROR 

the backend reported an error, or the add-on isn't connected

PVR_ERROR_SERVER_TIMEOUT 

the command was sent to the backend, but the response timed out

PVR_ERROR_REJECTED 

the command was rejected by the backend

PVR_ERROR_ALREADY_PRESENT 

the requested item can not be added, because it's already present

PVR_ERROR_INVALID_PARAMETERS 

the parameters of the method that was called are invalid for this operation

PVR_ERROR_RECORDING_RUNNING 

a recording is running, so the timer can't be deleted without doing a forced delete

PVR_ERROR_FAILED 

the command failed

§ PVR_MENUHOOK_CAT

PVR menu hook categories.

Enumerator
PVR_MENUHOOK_UNKNOWN 

unknown menu hook

PVR_MENUHOOK_ALL 

all categories

PVR_MENUHOOK_CHANNEL 

for channels

PVR_MENUHOOK_TIMER 

for timers

PVR_MENUHOOK_EPG 

for EPG

PVR_MENUHOOK_RECORDING 

for recordings

PVR_MENUHOOK_DELETED_RECORDING 

for deleted recordings

PVR_MENUHOOK_SETTING 

for settings

§ PVR_RECORDING_CHANNEL_TYPE

PVR recording channel types.

Enumerator
PVR_RECORDING_CHANNEL_TYPE_UNKNOWN 

unknown

PVR_RECORDING_CHANNEL_TYPE_TV 

TV channel.

PVR_RECORDING_CHANNEL_TYPE_RADIO 

radio channel

§ PVR_TIMER_STATE

PVR timer states.

Enumerator
PVR_TIMER_STATE_NEW 

the timer was just created on the backend and is not yet active. This state must not be used for timers just created on the client side.

PVR_TIMER_STATE_SCHEDULED 

the timer is scheduled for recording

PVR_TIMER_STATE_RECORDING 

the timer is currently recordings

PVR_TIMER_STATE_COMPLETED 

the recording completed successfully

PVR_TIMER_STATE_ABORTED 

recording started, but was aborted

PVR_TIMER_STATE_CANCELLED 

the timer was scheduled, but was canceled

PVR_TIMER_STATE_CONFLICT_OK 

the scheduled timer conflicts with another one, but will be recorded

PVR_TIMER_STATE_CONFLICT_NOK 

the scheduled timer conflicts with another one and won't be recorded

PVR_TIMER_STATE_ERROR 

the timer is scheduled, but can't be recorded for some reason

PVR_TIMER_STATE_DISABLED 

the timer was disabled by the user, can be enabled via setting the state to PVR_TIMER_STATE_SCHEDULED

§ xbmc_codec_type_t

Enumerator
XBMC_CODEC_TYPE_UNKNOWN 
XBMC_CODEC_TYPE_VIDEO 
XBMC_CODEC_TYPE_AUDIO 
XBMC_CODEC_TYPE_DATA 
XBMC_CODEC_TYPE_SUBTITLE 
XBMC_CODEC_TYPE_RDS 
XBMC_CODEC_TYPE_NB 

Variable Documentation

§ EPG_TIMEFRAME_UNLIMITED

const int EPG_TIMEFRAME_UNLIMITED = -1

timeframe value for use with SetEPGTimeFrame function to indicate "no timeframe".

§ PVR_CHANNEL_INVALID_UID

const int PVR_CHANNEL_INVALID_UID = -1

special PVR_TIMER.iClientChannelUid and PVR_RECORDING.iChannelUid value to indicate that no channel uid is available.

denotes that no channel uid is available.

§ PVR_DESCRAMBLE_INFO_NOT_AVAILABLE

const int PVR_DESCRAMBLE_INFO_NOT_AVAILABLE = -1

special PVR_DESCRAMBLE_INFO value to indicate that a struct member's value is not available.

§ PVR_TIMER_ANY_CHANNEL

const int PVR_TIMER_ANY_CHANNEL = -1

special PVR_TIMER.iClientChannelUid value to indicate "any channel". Useful for some repeating timer types.

denotes "any channel", not a specific one.

§ PVR_TIMER_NO_CLIENT_INDEX

const unsigned int PVR_TIMER_NO_CLIENT_INDEX = 0

special PVR_TIMER.iClientIndex value to indicate that a timer has not (yet) a valid client index.

timer has not (yet) a valid client index.

§ PVR_TIMER_NO_EPG_UID

const unsigned int PVR_TIMER_NO_EPG_UID = EPG_TAG_INVALID_UID

special PVR_TIMER.iEpgUid value to indicate that a timer has no EPG event uid.

timer has no EPG event uid.

§ PVR_TIMER_NO_PARENT

const unsigned int PVR_TIMER_NO_PARENT = PVR_TIMER_NO_CLIENT_INDEX

special PVR_TIMER.iParentClientIndex value to indicate that a timer has no parent.

timer has no parent; it was not scheduled by a repeating timer.

§ PVR_TIMER_TYPE_ATTRIBUTE_NONE

const unsigned int PVR_TIMER_TYPE_ATTRIBUTE_NONE = 0x00000000

PVR timer type attributes (PVR_TIMER_TYPE.iAttributes values)

§ PVR_TIMER_TYPE_FORBIDS_EPG_TAG_ON_CREATE

const unsigned int PVR_TIMER_TYPE_FORBIDS_EPG_TAG_ON_CREATE = 0x00400000

this type should not appear on any create menus which provide an associated EPG tag

§ PVR_TIMER_TYPE_FORBIDS_NEW_INSTANCES

const unsigned int PVR_TIMER_TYPE_FORBIDS_NEW_INSTANCES = 0x00000008

timers of this type must not be created by Kodi. All other operations are allowed, though

§ PVR_TIMER_TYPE_IS_MANUAL

const unsigned int PVR_TIMER_TYPE_IS_MANUAL = 0x00000001

defines whether this is a type for manual (time-based) or epg-based timers

§ PVR_TIMER_TYPE_IS_READONLY

const unsigned int PVR_TIMER_TYPE_IS_READONLY = 0x00000004

timers of this type must not be edited by Kodi

§ PVR_TIMER_TYPE_IS_REPEATING

const unsigned int PVR_TIMER_TYPE_IS_REPEATING = 0x00000002

defines whether this is a type for repeating or one-shot timers

§ PVR_TIMER_TYPE_NONE

const unsigned int PVR_TIMER_TYPE_NONE = 0

numeric PVR timer type definitions (PVR_TIMER.iTimerType values)

"Null" value for a numeric timer type.

§ PVR_TIMER_TYPE_REQUIRES_EPG_SERIES_ON_CREATE

const unsigned int PVR_TIMER_TYPE_REQUIRES_EPG_SERIES_ON_CREATE = 0x00800000

this type should not appear on any create menus unless associated with an EPG tag with 'series' attributes (EPG_TAG.iFlags & EPG_TAG_FLAG_IS_SERIES || EPG_TAG.iSeriesNumber > 0 || EPG_TAG.iEpisodeNumber > 0 || EPG_TAG.iEpisodePartNumber > 0). Implies PVR_TIMER_TYPE_REQUIRES_EPG_TAG_ON_CREATE

§ PVR_TIMER_TYPE_REQUIRES_EPG_SERIESLINK_ON_CREATE

const unsigned int PVR_TIMER_TYPE_REQUIRES_EPG_SERIESLINK_ON_CREATE = 0x02000000

this type should not appear on any create menus which don't provide an associated EPG tag with a series link

§ PVR_TIMER_TYPE_REQUIRES_EPG_TAG_ON_CREATE

const unsigned int PVR_TIMER_TYPE_REQUIRES_EPG_TAG_ON_CREATE = 0x00200000

this type should not appear on any create menus which don't provide an associated EPG tag

§ PVR_TIMER_TYPE_SUPPORTS_ANY_CHANNEL

const unsigned int PVR_TIMER_TYPE_SUPPORTS_ANY_CHANNEL = 0x01000000

this type supports 'any channel', for example when defining a timer rule that should match any channel instaed of a particular channel

§ PVR_TIMER_TYPE_SUPPORTS_CHANNELS

const unsigned int PVR_TIMER_TYPE_SUPPORTS_CHANNELS = 0x00000020

this type supports channels (PVR_TIMER.iClientChannelUid)

§ PVR_TIMER_TYPE_SUPPORTS_ENABLE_DISABLE

const unsigned int PVR_TIMER_TYPE_SUPPORTS_ENABLE_DISABLE = 0x00000010

this type supports enabling/disabling of the timer (PVR_TIMER.state SCHEDULED|DISABLED)

§ PVR_TIMER_TYPE_SUPPORTS_END_ANYTIME

const unsigned int PVR_TIMER_TYPE_SUPPORTS_END_ANYTIME = 0x00080000

enables a separate 'Any Time' over-ride for endTime (using PVR_TIMER.bEndAnyTime)

§ PVR_TIMER_TYPE_SUPPORTS_END_TIME

const unsigned int PVR_TIMER_TYPE_SUPPORTS_END_TIME = 0x00020000

this type supports a recording end time (PVR_TIMER.endTime)

§ PVR_TIMER_TYPE_SUPPORTS_FIRST_DAY

const unsigned int PVR_TIMER_TYPE_SUPPORTS_FIRST_DAY = 0x00000200

this type supports a first day the timer gets active (PVR_TIMER.firstday)

§ PVR_TIMER_TYPE_SUPPORTS_FULLTEXT_EPG_MATCH

const unsigned int PVR_TIMER_TYPE_SUPPORTS_FULLTEXT_EPG_MATCH = 0x00000100

this type supports matching "more" epg data (not just episode title) using PVR_TIMER.strEpgSearchString. Setting FULLTEXT_EPG_MATCH implies TITLE_EPG_MATCH

§ PVR_TIMER_TYPE_SUPPORTS_LIFETIME

const unsigned int PVR_TIMER_TYPE_SUPPORTS_LIFETIME = 0x00004000

this type supports recording lifetime (PVR_TIMER.iLifetime)

§ PVR_TIMER_TYPE_SUPPORTS_MAX_RECORDINGS

const unsigned int PVR_TIMER_TYPE_SUPPORTS_MAX_RECORDINGS = 0x00100000

this type supports specifying a maximum recordings setting' (PVR_TIMER.iMaxRecordings)

§ PVR_TIMER_TYPE_SUPPORTS_PRIORITY

const unsigned int PVR_TIMER_TYPE_SUPPORTS_PRIORITY = 0x00002000

this type supports recording priority (PVR_TIMER.iPriority)

§ PVR_TIMER_TYPE_SUPPORTS_READONLY_DELETE

const unsigned int PVR_TIMER_TYPE_SUPPORTS_READONLY_DELETE = 0x04000000

this type allows deletion of an otherwise read-only timer

§ PVR_TIMER_TYPE_SUPPORTS_RECORD_ONLY_NEW_EPISODES

const unsigned int PVR_TIMER_TYPE_SUPPORTS_RECORD_ONLY_NEW_EPISODES = 0x00000800

this type supports the "record only new episodes" feature (PVR_TIMER.iPreventDuplicateEpisodes)

§ PVR_TIMER_TYPE_SUPPORTS_RECORDING_FOLDERS

const unsigned int PVR_TIMER_TYPE_SUPPORTS_RECORDING_FOLDERS = 0x00008000

this type supports placing recordings in user defined folders (PVR_TIMER.strDirectory)

§ PVR_TIMER_TYPE_SUPPORTS_RECORDING_GROUP

const unsigned int PVR_TIMER_TYPE_SUPPORTS_RECORDING_GROUP = 0x00010000

this type supports a list of recording groups (PVR_TIMER.iRecordingGroup)

§ PVR_TIMER_TYPE_SUPPORTS_START_ANYTIME

const unsigned int PVR_TIMER_TYPE_SUPPORTS_START_ANYTIME = 0x00040000

enables an 'Any Time' over-ride option for startTime (using PVR_TIMER.bStartAnyTime)

§ PVR_TIMER_TYPE_SUPPORTS_START_END_MARGIN

const unsigned int PVR_TIMER_TYPE_SUPPORTS_START_END_MARGIN = 0x00001000

this type supports pre and post record time (PVR_TIMER.iMarginStart, PVR_TIMER.iMarginEnd)

§ PVR_TIMER_TYPE_SUPPORTS_START_TIME

const unsigned int PVR_TIMER_TYPE_SUPPORTS_START_TIME = 0x00000040

this type supports a recording start time (PVR_TIMER.startTime)

§ PVR_TIMER_TYPE_SUPPORTS_TITLE_EPG_MATCH

const unsigned int PVR_TIMER_TYPE_SUPPORTS_TITLE_EPG_MATCH = 0x00000080

this type supports matching epg episode title using PVR_TIMER.strEpgSearchString

§ PVR_TIMER_TYPE_SUPPORTS_WEEKDAYS

const unsigned int PVR_TIMER_TYPE_SUPPORTS_WEEKDAYS = 0x00000400

this type supports weekdays for defining the recording schedule (PVR_TIMER.iWeekdays)

§ PVR_WEEKDAY_ALLDAYS

const unsigned int PVR_WEEKDAY_ALLDAYS
Initial value:
const unsigned int PVR_WEEKDAY_SUNDAY
Definition: xbmc_pvr_types.h:168
const unsigned int PVR_WEEKDAY_TUESDAY
Definition: xbmc_pvr_types.h:163
const unsigned int PVR_WEEKDAY_FRIDAY
Definition: xbmc_pvr_types.h:166
const unsigned int PVR_WEEKDAY_WEDNESDAY
Definition: xbmc_pvr_types.h:164
const unsigned int PVR_WEEKDAY_MONDAY
Definition: xbmc_pvr_types.h:162
const unsigned int PVR_WEEKDAY_SATURDAY
Definition: xbmc_pvr_types.h:167
const unsigned int PVR_WEEKDAY_THURSDAY
Definition: xbmc_pvr_types.h:165

§ PVR_WEEKDAY_FRIDAY

const unsigned int PVR_WEEKDAY_FRIDAY = 0x10

§ PVR_WEEKDAY_MONDAY

const unsigned int PVR_WEEKDAY_MONDAY = 0x01

§ PVR_WEEKDAY_NONE

const unsigned int PVR_WEEKDAY_NONE = 0x00

PVR timer weekdays (PVR_TIMER.iWeekdays values)

§ PVR_WEEKDAY_SATURDAY

const unsigned int PVR_WEEKDAY_SATURDAY = 0x20

§ PVR_WEEKDAY_SUNDAY

const unsigned int PVR_WEEKDAY_SUNDAY = 0x40

§ PVR_WEEKDAY_THURSDAY

const unsigned int PVR_WEEKDAY_THURSDAY = 0x08

§ PVR_WEEKDAY_TUESDAY

const unsigned int PVR_WEEKDAY_TUESDAY = 0x02

§ PVR_WEEKDAY_WEDNESDAY

const unsigned int PVR_WEEKDAY_WEDNESDAY = 0x04