Wasabi ExpressPlay SDK for Desktop Systems
1.10
Main Page
Modules
Data Structures
Files
File List
Globals
Client
Source
Common
Core
WsbTypes.h
Go to the documentation of this file.
1
/*****************************************************************
2
|
3
| Wasabi - Types
4
|
5
| $Id: WsbTypes.h 10793 2014-06-25 12:46:08Z jebaseelir $
6
| Original author: Julien Boeuf
7
|
8
| This software is provided to you pursuant to your agreement
9
| with Intertrust Technologies Corporation ("Intertrust").
10
| This software may be used only in accordance with the terms
11
| of the agreement.
12
|
13
| Copyright (c) 2003-2014 by Intertrust. All rights reserved.
14
|
15
****************************************************************/
21
#ifndef _WSB_TYPES_H_
22
#define _WSB_TYPES_H_
23
24
/*----------------------------------------------------------------------
25
| includes
26
+---------------------------------------------------------------------*/
27
#include "WsbConfig.h"
28
29
/*----------------------------------------------------------------------
30
| generic types
31
+---------------------------------------------------------------------*/
36
typedef
unsigned
int
WSB_UInt32
;
37
typedef
signed
int
WSB_Int32
;
38
typedef
unsigned
short
WSB_UInt16
;
39
typedef
signed
short
WSB_Int16
;
40
typedef
unsigned
char
WSB_UInt8
;
41
typedef
signed
char
WSB_Int8
;
42
typedef
float
WSB_Float
;
44
/* 64-bit types */
45
#if !defined(WSB_CONFIG_HAVE_INT64)
46
#error "64 bit types are not supported on this target"
47
#endif
48
typedef
WSB_CONFIG_INT64_TYPE
WSB_Int64
;
49
typedef
unsigned
WSB_CONFIG_INT64_TYPE
WSB_UInt64
;
50
typedef
unsigned
WSB_CONFIG_INT64_TYPE
WSB_LargeSize
;
51
typedef
unsigned
WSB_CONFIG_INT64_TYPE
WSB_Position
;
52
53
/*----------------------------------------------------------------------
54
| macros
55
+---------------------------------------------------------------------*/
56
#if !defined(NULL)
57
#if defined (__cplusplus)
58
#define NULL 0
59
#else
60
#define NULL ((void*) 0)
61
#endif
62
#endif
63
64
/*----------------------------------------------------------------------
65
| types
66
+---------------------------------------------------------------------*/
71
typedef
enum
{
72
WSB_FALSE
= 0,
73
WSB_TRUE
= 1
74
}
WSB_Boolean
;
75
83
typedef
int
WSB_Result
;
84
93
typedef
WSB_UInt32
WSB_Flags
;
94
98
typedef
WSB_UInt32
WSB_Mask
;
99
104
typedef
WSB_UInt32
WSB_Size
;
105
109
typedef
WSB_Int32
WSB_Offset
;
110
115
typedef
WSB_UInt32
WSB_Range
;
116
121
typedef
WSB_UInt32
WSB_Cardinal
;
122
127
typedef
WSB_UInt32
WSB_Ordinal
;
128
132
typedef
WSB_UInt8
WSB_Byte
;
133
137
typedef
struct
{
138
WSB_Int32
year
;
139
WSB_Int32
month
;
140
WSB_Int32
day
;
141
WSB_Int32
hours
;
142
WSB_Int32
minutes
;
143
WSB_Int32
seconds
;
144
WSB_Int32
milliseconds
;
145
}
WSB_DateTime
;
146
150
typedef
struct
{
151
WSB_UInt8
h
;
152
WSB_UInt8
m
;
153
WSB_UInt8
s
;
154
WSB_UInt8
f
;
155
}
WSB_TimeCode
;
156
157
typedef
struct
{
158
WSB_LargeSize
offset
;
159
WSB_LargeSize
range
;
160
}
WSB_StreamPosition
;
161
162
typedef
struct
{
163
WSB_Mask
mask
;
164
WSB_UInt32
nominal_bitrate
;
165
WSB_UInt32
average_bitrate
;
166
WSB_UInt32
instant_bitrate
;
167
WSB_UInt64
size
;
168
WSB_UInt64
duration
;
169
WSB_UInt32
sample_rate
;
170
WSB_UInt16
channel_count
;
171
WSB_Flags
flags
;
172
/* WSB_CString data_type; */
173
}
WSB_StreamInfo
;
174
178
typedef
struct
{
179
const
unsigned
char
*
data
;
180
WSB_Size
data_size
;
181
}
WSB_ByteArray
;
182
185
#endif
/* _WSB_TYPES_H_ */