HbbTv  17.9.0
Open source HBBTV engine
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
hbbtv_sif_types.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2014 Ocean Blue Software Ltd
4  *
5  * This file is part of a DTVKit Software Component
6  * You are permitted to copy, modify or distribute this file subject to the terms
7  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
8  *
9  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
10  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
11  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
12  *
13  * If you or your organisation is not a member of DTVKit then you have access
14  * to this source code outside of the terms of the licence agreement
15  * and you are expected to delete this and any associated files immediately.
16  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
17  *******************************************************************************/
26 /* pre-processor mechanism so multiple inclusions don't cause compilation error*/
27 
28 #ifndef _HBBTV_SIF_TYPES_H
29 
30 #define _HBBTV_SIF_TYPES_H
31 
32 #include "hbbtv_types.h"
33 
34 
35 /*---Constant and macro definitions for public use-----------------------------*/
36 
37 /*---Enumerations for public use-----------------------------------------------*/
38 
39 typedef enum
40 {
41  HBBTV_COMPONENT_VIDEO = 0,
42  HBBTV_COMPONENT_AUDIO,
43  HBBTV_COMPONENT_SUBTITLE,
44  HBBTV_COMPONENT_ALL
45 } E_HBBTV_COMPONENT_TYPE;
46 
47 typedef enum
48 {
49  HBBTV_VIDEO_MPEG2,
50  HBBTV_VIDEO_H_264
51 } E_HBBTV_VIDEO_ENCODING;
52 
53 typedef enum
54 {
55  HBBTV_AUDIO_MPEG2,
56  HBBTV_AUDIO_HEAAC,
57  HBBTV_AUDIO_E_AC3,
58  HBBTV_AUDIO_MP3
59 } E_HBBTV_AUDIO_ENCODING;
60 
61 
62 /*---Global type defs for public use-------------------------------------------*/
63 
64 typedef struct
65 {
66  S8BIT component_tag;
67  U16BIT pid;
68  E_HBBTV_COMPONENT_TYPE type;
69  union
70  {
71  struct
72  {
73  E_HBBTV_VIDEO_ENCODING encoding;
74  BOOLEAN hd;
75  U8BIT frame_rate;
76  E_HBBTV_ASPECT_RATIO aspect_ratio;
77  } video;
78  struct
79  {
80  E_HBBTV_AUDIO_ENCODING encoding;
81  U8BIT lang_code[4];
82  BOOLEAN audio_description;
83  U8BIT audio_channels;
84  } audio;
85  struct
86  {
87  U8BIT lang_code[4];
88  BOOLEAN hearing_impaired;
89  } subtitle;
90  } av;
91  BOOLEAN encrypted;
92  BOOLEAN active;
94 
95 
96 /*---Global Function prototypes for public use---------------------------------*/
97 
98 #endif /* _HBBTV_SIF_TYPES_H */
Definition of general purpose types.
Definition: hbbtv_sif_types.h:64