kodi
pvr_stream.h
1 /*
2  * Copyright (C) 2005-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #ifndef C_API_ADDONINSTANCE_PVR_STREAM_H
10 #define C_API_ADDONINSTANCE_PVR_STREAM_H
11 
12 #include "../inputstream/demux_packet.h"
13 #include "pvr_defines.h"
14 
15 #include <stdint.h>
16 #include <time.h>
17 
18 //¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
19 // "C" Definitions group 9 - PVR stream definitions (NOTE: Becomes replaced
20 // in future by inputstream addon instance way)
21 #ifdef __cplusplus
22 extern "C"
23 {
24 #endif /* __cplusplus */
25 
26  //============================================================================
30 #define PVR_STREAM_MAX_STREAMS 20
31  //----------------------------------------------------------------------------
32 
33  //============================================================================
37 #define PVR_INVALID_CODEC_ID 0
38  //----------------------------------------------------------------------------
39 
40  //============================================================================
44 #define PVR_INVALID_CODEC \
45  { \
46  PVR_CODEC_TYPE_UNKNOWN, PVR_INVALID_CODEC_ID \
47  }
48  //----------------------------------------------------------------------------
49 
50  //============================================================================
59  typedef enum PVR_CODEC_TYPE
60  {
63 
66 
69 
74 
77 
80 
83 
84  PVR_CODEC_TYPE_NB
87  //----------------------------------------------------------------------------
88 
89  //============================================================================
96  typedef struct PVR_CODEC
97  {
99  enum PVR_CODEC_TYPE codec_type;
100 
102  unsigned int codec_id;
103  } PVR_CODEC;
105  //----------------------------------------------------------------------------
106 
114  typedef struct PVR_STREAM_PROPERTIES
115  {
116  unsigned int iStreamCount;
117  struct PVR_STREAM
118  {
119  unsigned int iPID;
120  enum PVR_CODEC_TYPE iCodecType;
121  unsigned int iCodecId;
122  char strLanguage[4];
123  int iSubtitleInfo;
124  int iFPSScale;
125  int iFPSRate;
126  int iHeight;
127  int iWidth;
128  float fAspect;
129  int iChannels;
130  int iSampleRate;
131  int iBlockAlign;
132  int iBitRate;
133  int iBitsPerSample;
134  } stream[PVR_STREAM_MAX_STREAMS];
136 
144  typedef struct PVR_STREAM_TIMES
145  {
146  time_t startTime;
147  int64_t ptsStart;
148  int64_t ptsBegin;
149  int64_t ptsEnd;
151 
152 #ifdef __cplusplus
153 }
154 #endif /* __cplusplus */
155 
156 #endif /* !C_API_ADDONINSTANCE_PVR_STREAM_H */
To identify cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Audio.
Definition: pvr_stream.h:68
unsigned int codec_id
Related codec identifier, normally match the ffmpeg id&#39;s.
Definition: pvr_stream.h:102
To identify cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Audio ID3 tags. ...
Definition: pvr_stream.h:82
enum PVR_CODEC_TYPE codec_type
Used codec type for stream.
Definition: pvr_stream.h:99
To identify cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Data.
Definition: pvr_stream.h:73
Definition: pvr_stream.h:117
PVR_CODEC_TYPE
Definition: pvr_stream.h:59
To identify cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Radio RDS.
Definition: pvr_stream.h:79
To identify cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Video.
Definition: pvr_stream.h:65
"C" Times of playing stream (Live TV and recordings)
Definition: pvr_stream.h:144
To set nothing defined.
Definition: pvr_stream.h:62
To identify cpp_kodi_addon_pvr_Defs_Stream_PVRStreamProperties as Subtitle.
Definition: pvr_stream.h:76
"C" Stream properties
Definition: pvr_stream.h:114
Definition: pvr_stream.h:96