Pepper_42_C_interfaces
Main Page
Modules
Classes
Files
File List
File Members
samsung
pp_media_player_samsung.h
Go to the documentation of this file.
1
/* Copyright (c) 2016 Samsung Electronics. All rights reserved.
2
*/
3
4
/* From samsung/pp_media_player_samsung.idl,
5
* modified Mon Feb 15 15:48:23 2016.
6
*/
7
8
#ifndef PPAPI_C_SAMSUNG_PP_MEDIA_PLAYER_SAMSUNG_H_
9
#define PPAPI_C_SAMSUNG_PP_MEDIA_PLAYER_SAMSUNG_H_
10
11
#include "ppapi/c/pp_bool.h"
12
#include "ppapi/c/pp_macros.h"
13
#include "ppapi/c/pp_size.h"
14
#include "ppapi/c/pp_stdint.h"
15
#include "ppapi/c/pp_time.h"
16
#include "ppapi/c/samsung/pp_media_common_samsung.h"
17
18
/**
19
* @file
20
* This file defines common structures used with the
21
* <code>PPB_MediaPlayer</code> interface.
22
*
23
* Part of Pepper Media Player interfaces (Samsung's extension).
24
* See comments in ppb_media_player_samsung.
25
*/
26
27
28
/**
29
* @addtogroup Enums
30
* @{
31
*/
32
/**
33
* List of media player states.
34
*/
35
typedef
enum
{
36
/**
37
* Indicates invalid state for the player
38
*/
39
PP_MEDIAPLAYERSTATE_NONE
= 0,
40
/**
41
* Player has been created but no data sources hasn't been attached yet.
42
*/
43
PP_MEDIAPLAYERSTATE_UNINITIALIZED
= 1,
44
/**
45
* Player has been created and data sources has been attached.
46
* Playback is ready to be started.
47
*/
48
PP_MEDIAPLAYERSTATE_READY
= 2,
49
/**
50
* Player is playing media. Media time is advancing.
51
*/
52
PP_MEDIAPLAYERSTATE_PLAYING
= 3,
53
/**
54
* Playback has been paused and can be resumed.
55
*/
56
PP_MEDIAPLAYERSTATE_PAUSED
= 4
57
}
PP_MediaPlayerState
;
58
PP_COMPILE_ASSERT_SIZE_IN_BYTES
(
PP_MediaPlayerState
, 4);
59
60
/**
61
* List of errors which might be reported by the player.
62
*/
63
typedef
enum
{
64
/** No error has occurred */
65
PP_MEDIAPLAYERERROR_NONE
= 0,
66
/** Input error has occured */
67
PP_MEDIAPLAYERERROR_BAD_ARGUMENT
= 1,
68
/** Network error has occurred */
69
PP_MEDIAPLAYERERROR_NETWORK
= 2,
70
/** Demuxer error has occured */
71
PP_MEDIAPLAYERERROR_DEMUX
= 3,
72
/** Decryptor error has occured */
73
PP_MEDIAPLAYERERROR_DECRYPT
= 4,
74
/** Decoder error has occurred */
75
PP_MEDIAPLAYERERROR_DECODE
= 5,
76
/** Rendering error has occurred */
77
PP_MEDIAPLAYERERROR_RENDER
= 6,
78
/** Media is encoded using unsupported codec */
79
PP_MEDIAPLAYERERROR_UNSUPPORTED_CODEC
= 7,
80
/** Container is not supported */
81
PP_MEDIAPLAYERERROR_UNSUPPORTED_CONTAINER
= 8,
82
/** Resource error has occured (i.e. no space left on device, no such file) */
83
PP_MEDIAPLAYERERROR_RESOURCE
= 9,
84
/** Unknown error has occurred */
85
PP_MEDIAPLAYERERROR_UNKNOWN
= 10
86
}
PP_MediaPlayerError
;
87
PP_COMPILE_ASSERT_SIZE_IN_BYTES
(
PP_MediaPlayerError
, 4);
88
/**
89
* @}
90
*/
91
92
/**
93
* @addtogroup Structs
94
* @{
95
*/
96
/**
97
* Structure describing video track from played media.
98
*/
99
struct
PP_VideoTrackInfo
{
100
/**
101
* Index of the track in currently played media.
102
* Note this index is only valid for currently attached data source.
103
*/
104
uint32_t
index
;
105
/**
106
* Minimal bandwidth (in bits per second - bps) of delivery channel
107
* required to deliver given video track.
108
*/
109
uint32_t
bitrate
;
110
/**
111
* Decoded video frame size in pixels.
112
*/
113
struct
PP_Size
size
;
114
};
115
PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES
(
PP_VideoTrackInfo
, 16);
116
117
/**
118
* Structure describing audio track from played media.
119
*/
120
struct
PP_AudioTrackInfo
{
121
/**
122
* Index of the track in currently played media.
123
* Note this index is only valid for currently attached data source.
124
*/
125
uint32_t
index
;
126
/**
127
* C style string representing language of audio track
128
* encoded in IETF RFC 5646
129
*/
130
char
language
[64];
131
};
132
PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES
(
PP_AudioTrackInfo
, 68);
133
134
/**
135
* Structure describing text/subtitles track from played media.
136
*/
137
struct
PP_TextTrackInfo
{
138
/**
139
* Index of the track in currently played media.
140
* Note this index is only valid for currently attached data source.
141
*/
142
uint32_t
index
;
143
/**
144
* Is current text track internal (contained in media clip)
145
* or external (loaded from separate file)
146
*/
147
PP_Bool
is_external
;
148
/**
149
* C style string representing language of text track
150
* encoded in IETF RFC 5646
151
*/
152
char
language
[64];
153
};
154
PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES
(
PP_TextTrackInfo
, 72);
155
/**
156
* @}
157
*/
158
159
/**
160
* @addtogroup Enums
161
* @{
162
*/
163
/**
164
* List of supported types of DRM systems.
165
*/
166
typedef
enum
{
167
/** Unknown DRM system */
168
PP_MEDIAPLAYERDRMTYPE_UNKNOWN
= 0,
169
/** Playready DRM system */
170
PP_MEDIAPLAYERDRMTYPE_PLAYREADY
= 1,
171
/** Marlin DRM system */
172
PP_MEDIAPLAYERDRMTYPE_MARLIN
= 2,
173
/** Verimatrix DRM system */
174
PP_MEDIAPLAYERDRMTYPE_VERIMATRIX
= 3,
175
/** Widevine classic DRM system */
176
PP_MEDIAPLAYERDRMTYPE_WIDEVINE_CLASSIC
= 4,
177
/** Widevine modular (used with MPEG-DASH) DRM system */
178
PP_MEDIAPLAYERDRMTYPE_WIDEVINE_MODULAR
= 5,
179
/** Securemedia DRM system */
180
PP_MEDIAPLAYERDRMTYPE_SECUREMEDIA
= 6,
181
/** SDRM system */
182
PP_MEDIAPLAYERDRMTYPE_SDRM
= 7,
183
/** ClearKey system */
184
PP_MEDIAPLAYERDRMTYPE_CLEARKEY
= 8
185
}
PP_MediaPlayerDRMType
;
186
PP_COMPILE_ASSERT_SIZE_IN_BYTES
(
PP_MediaPlayerDRMType
, 4);
187
188
/**
189
* List of possible DRM system operation.
190
*/
191
typedef
enum
{
192
/**
193
* Setting properties of a DRM instance.
194
*/
195
PP_MEDIAPLAYERDRMOPERATION_SETPROPERTIES
= 1,
196
/**
197
* Enabling challenge message instead of DRM's
198
* connecting to a license server.
199
*/
200
PP_MEDIAPLAYERDRMOPERATION_GENCHALLENGE
= 2,
201
/**
202
* Installing a license into a DRM instance.
203
*/
204
PP_MEDIAPLAYERDRMOPERATION_INSTALLLICENSE
= 3,
205
/**
206
* Deleting a license into a DRM instance.
207
*/
208
PP_MEDIAPLAYERDRMOPERATION_DELETELICENSE
= 4,
209
/**
210
* Requesting key to DRM license server with the initiator information.
211
*/
212
PP_MEDIAPLAYERDRMOPERATION_PROCESSINITIATOR
= 5,
213
/**
214
* Querying the version of DRM system.
215
*/
216
PP_MEDIAPLAYERDRMOPERATION_GETVERSION
= 6
217
}
PP_MediaPlayerDRMOperation
;
218
PP_COMPILE_ASSERT_SIZE_IN_BYTES
(
PP_MediaPlayerDRMOperation
, 4);
219
220
/**
221
* Enum describing available streaming properties which can be set
222
* by the user.
223
*/
224
typedef
enum
{
225
/**
226
* The cookie for streaming playback.
227
* This corresponds to a string (PP_VARTYPE_STRING)
228
*/
229
PP_STREAMINGPROPERTY_COOKIE
= 1,
230
/**
231
* The user agent for streaming playback.
232
* This corresponds to a string (PP_VARTYPE_STRING)
233
*/
234
PP_STREAMINGPROPERTY_USER_AGENT
= 2,
235
/**
236
* Sets adaptive streaming format specific properties.
237
*
238
* Eg. for smooth streaming (strings should be concatenated):
239
* "|BITRATES=50000~2500000"
240
* "|STARTBITRATE=150000"
241
* "|SKIPBITRATE=100000"
242
*
243
* Eg. for DRM (strings should be concatenated):
244
* "DEVICE_ID=null"
245
* "DEVICET_TYPE_ID=60"
246
* "DRM_URL=https://..."
247
*
248
* This corresponds to a string (PP_VARTYPE_STRING).
249
*/
250
PP_STREAMINGPROPERTY_ADAPTIVE_INFO
= 3,
251
/**
252
* Sets streaming type.
253
*
254
* Eg. :
255
* "WIDEVINE"
256
* "HLS"
257
* "VUDU"
258
* "HAS"
259
* "SMOOTH"
260
*
261
* This corresponds to a string (PP_VARTYPE_STRING).
262
*/
263
PP_STREAMINGPROPERTY_TYPE
= 4,
264
/**
265
* Gets available bitrates in bps (bits per second).
266
*
267
* Eg. (values are concatenated and separated by '|'):
268
* "100|500|1000"
269
*
270
* Result is a string (PP_VARTYPE_STRING).
271
*/
272
PP_STREAMINGPROPERTY_AVAILABLE_BITRATES
= 5,
273
/**
274
* Gets throughput in bps.
275
*
276
* Throughput is how much data actually does travel through
277
* the 'channel' successfully.
278
*
279
* Result is a string (PP_VARTYPE_STRING).
280
*/
281
PP_STREAMINGPROPERTY_THROUGHPUT
= 6,
282
/**
283
* Gets duration of the clip in seconds.
284
*
285
* Result is a string (PP_VARTYPE_STRING).
286
*/
287
PP_STREAMINGPROPERTY_DURATION
= 7,
288
/**
289
* Gets current bitrate in bps.
290
*
291
* Result is a string (PP_VARTYPE_STRING).
292
*/
293
PP_STREAMINGPROPERTY_CURRENT_BITRATE
= 8
294
}
PP_StreamingProperty
;
295
PP_COMPILE_ASSERT_SIZE_IN_BYTES
(
PP_StreamingProperty
, 4);
296
/**
297
* @}
298
*/
299
300
/**
301
* @addtogroup Structs
302
* @{
303
*/
304
/**
305
* Structure describing Elementary Stream packet. It contains
306
* all necessary timing information to display sent packets in appropriate
307
* order and synchronize different streams.
308
*/
309
struct
PP_ESPacket
{
310
/**
311
* Presentation Timestamp, indicates time relative to begging of
312
* the stream when packet must be rendered.
313
*/
314
PP_TimeTicks
pts
;
315
/**
316
* Decode Timestamp, indicates time relative to begging of the stream
317
* when packet must be sent to decoder.
318
*
319
* Usually equals to pts except rare cases like B-Frames.
320
*/
321
PP_TimeTicks
dts
;
322
/**
323
* Duration of the packet.
324
*/
325
PP_TimeDelta
duration
;
326
/**
327
* Whether the packet represents a key frame.
328
*/
329
PP_Bool
is_key_frame
;
330
/**
331
* Size in bytes of packet data
332
*/
333
uint32_t
size
;
334
/**
335
* Base address of buffer containing data of the packet.
336
*/
337
void
*
buffer
;
338
};
339
340
/**
341
* Structure describing encrypted packet.
342
*/
343
struct
PP_ESPacketEncryptionInfo
{
344
/**
345
* Size in bytes of the |key_id| field.
346
*/
347
uint32_t
key_id_size
;
348
/**
349
* Base address of buffer containing id of the key needed to decrypt given
350
packet.
351
*/
352
void
*
key_id
;
353
/**
354
* Size in bytes of the |iv| field.
355
*/
356
uint32_t
iv_size
;
357
/**
358
* Base address of buffer containing Initialization Vector (IV)
359
* needed to decrypt given packet.
360
*/
361
void
*
iv
;
362
/**
363
* Number of subsamples for given ES packet (sample).
364
*/
365
uint32_t
num_subsamples
;
366
/**
367
* Description of subsamples of which given ES packet consists of.
368
* Size of the array is |num_subsamples|.
369
*/
370
struct
PP_EncryptedSubsampleDescription
*
subsamples
;
371
};
372
/**
373
* @}
374
*/
375
376
#endif
/* PPAPI_C_SAMSUNG_PP_MEDIA_PLAYER_SAMSUNG_H_ */
377
PP_TextTrackInfo
Definition:
pp_media_player_samsung.h:137
PP_STREAMINGPROPERTY_TYPE
Definition:
pp_media_player_samsung.h:263
PP_MEDIAPLAYERSTATE_READY
Definition:
pp_media_player_samsung.h:48
PP_MEDIAPLAYERERROR_RESOURCE
Definition:
pp_media_player_samsung.h:83
PP_STREAMINGPROPERTY_ADAPTIVE_INFO
Definition:
pp_media_player_samsung.h:250
PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES
PP_COMPILE_ASSERT_STRUCT_SIZE_IN_BYTES(PP_VideoTrackInfo, 16)
PP_ESPacket::size
uint32_t size
Definition:
pp_media_player_samsung.h:333
PP_TextTrackInfo::is_external
PP_Bool is_external
Definition:
pp_media_player_samsung.h:147
PP_MEDIAPLAYERERROR_DEMUX
Definition:
pp_media_player_samsung.h:71
PP_MEDIAPLAYERERROR_UNSUPPORTED_CONTAINER
Definition:
pp_media_player_samsung.h:81
PP_STREAMINGPROPERTY_THROUGHPUT
Definition:
pp_media_player_samsung.h:281
PP_TextTrackInfo::index
uint32_t index
Definition:
pp_media_player_samsung.h:142
PP_ESPacketEncryptionInfo::iv_size
uint32_t iv_size
Definition:
pp_media_player_samsung.h:356
PP_MEDIAPLAYERDRMTYPE_PLAYREADY
Definition:
pp_media_player_samsung.h:170
PP_MEDIAPLAYERDRMTYPE_UNKNOWN
Definition:
pp_media_player_samsung.h:168
PP_MEDIAPLAYERERROR_NONE
Definition:
pp_media_player_samsung.h:65
PP_ESPacket::dts
PP_TimeTicks dts
Definition:
pp_media_player_samsung.h:321
PP_STREAMINGPROPERTY_CURRENT_BITRATE
Definition:
pp_media_player_samsung.h:293
PP_MEDIAPLAYERERROR_RENDER
Definition:
pp_media_player_samsung.h:77
PP_STREAMINGPROPERTY_USER_AGENT
Definition:
pp_media_player_samsung.h:234
PP_MediaPlayerState
PP_MediaPlayerState
Definition:
pp_media_player_samsung.h:35
PP_STREAMINGPROPERTY_DURATION
Definition:
pp_media_player_samsung.h:287
PP_ESPacketEncryptionInfo::key_id_size
uint32_t key_id_size
Definition:
pp_media_player_samsung.h:347
PP_MEDIAPLAYERERROR_DECRYPT
Definition:
pp_media_player_samsung.h:73
PP_MEDIAPLAYERDRMTYPE_MARLIN
Definition:
pp_media_player_samsung.h:172
PP_VideoTrackInfo::size
struct PP_Size size
Definition:
pp_media_player_samsung.h:113
PP_MEDIAPLAYERDRMTYPE_WIDEVINE_MODULAR
Definition:
pp_media_player_samsung.h:178
PP_STREAMINGPROPERTY_COOKIE
Definition:
pp_media_player_samsung.h:229
PP_ESPacketEncryptionInfo
Definition:
pp_media_player_samsung.h:343
PP_AudioTrackInfo::language
char language[64]
Definition:
pp_media_player_samsung.h:130
PP_ESPacketEncryptionInfo::iv
void * iv
Definition:
pp_media_player_samsung.h:361
PP_MEDIAPLAYERDRMOPERATION_GETVERSION
Definition:
pp_media_player_samsung.h:216
PP_TimeTicks
double PP_TimeTicks
Definition:
pp_time.h:42
PP_ESPacket::is_key_frame
PP_Bool is_key_frame
Definition:
pp_media_player_samsung.h:329
PP_COMPILE_ASSERT_SIZE_IN_BYTES
PP_COMPILE_ASSERT_SIZE_IN_BYTES(PP_MediaPlayerState, 4)
PP_MediaPlayerDRMOperation
PP_MediaPlayerDRMOperation
Definition:
pp_media_player_samsung.h:191
PP_VideoTrackInfo::index
uint32_t index
Definition:
pp_media_player_samsung.h:104
PP_TextTrackInfo::language
char language[64]
Definition:
pp_media_player_samsung.h:152
PP_MEDIAPLAYERDRMOPERATION_GENCHALLENGE
Definition:
pp_media_player_samsung.h:200
PP_MEDIAPLAYERDRMTYPE_CLEARKEY
Definition:
pp_media_player_samsung.h:184
PP_ESPacket
Definition:
pp_media_player_samsung.h:309
PP_MEDIAPLAYERERROR_BAD_ARGUMENT
Definition:
pp_media_player_samsung.h:67
PP_EncryptedSubsampleDescription
Definition:
pp_media_common_samsung.h:98
PP_MEDIAPLAYERERROR_UNSUPPORTED_CODEC
Definition:
pp_media_player_samsung.h:79
PP_STREAMINGPROPERTY_AVAILABLE_BITRATES
Definition:
pp_media_player_samsung.h:272
PP_MEDIAPLAYERDRMTYPE_SECUREMEDIA
Definition:
pp_media_player_samsung.h:180
PP_MEDIAPLAYERDRMOPERATION_DELETELICENSE
Definition:
pp_media_player_samsung.h:208
PP_MEDIAPLAYERSTATE_PLAYING
Definition:
pp_media_player_samsung.h:52
PP_StreamingProperty
PP_StreamingProperty
Definition:
pp_media_player_samsung.h:224
PP_ESPacketEncryptionInfo::subsamples
struct PP_EncryptedSubsampleDescription * subsamples
Definition:
pp_media_player_samsung.h:370
PP_MediaPlayerError
PP_MediaPlayerError
Definition:
pp_media_player_samsung.h:63
PP_MEDIAPLAYERDRMOPERATION_INSTALLLICENSE
Definition:
pp_media_player_samsung.h:204
PP_ESPacket::duration
PP_TimeDelta duration
Definition:
pp_media_player_samsung.h:325
PP_MEDIAPLAYERDRMTYPE_WIDEVINE_CLASSIC
Definition:
pp_media_player_samsung.h:176
PP_MEDIAPLAYERDRMOPERATION_PROCESSINITIATOR
Definition:
pp_media_player_samsung.h:212
PP_MEDIAPLAYERSTATE_UNINITIALIZED
Definition:
pp_media_player_samsung.h:43
PP_VideoTrackInfo::bitrate
uint32_t bitrate
Definition:
pp_media_player_samsung.h:109
PP_MEDIAPLAYERERROR_UNKNOWN
Definition:
pp_media_player_samsung.h:85
PP_ESPacket::buffer
void * buffer
Definition:
pp_media_player_samsung.h:337
PP_ESPacketEncryptionInfo::num_subsamples
uint32_t num_subsamples
Definition:
pp_media_player_samsung.h:365
PP_MEDIAPLAYERDRMOPERATION_SETPROPERTIES
Definition:
pp_media_player_samsung.h:195
PP_MEDIAPLAYERDRMTYPE_VERIMATRIX
Definition:
pp_media_player_samsung.h:174
PP_MEDIAPLAYERDRMTYPE_SDRM
Definition:
pp_media_player_samsung.h:182
PP_ESPacket::pts
PP_TimeTicks pts
Definition:
pp_media_player_samsung.h:314
PP_Bool
PP_Bool
Definition:
pp_bool.h:30
PP_TimeDelta
double PP_TimeDelta
Definition:
pp_time.h:49
PP_MEDIAPLAYERERROR_DECODE
Definition:
pp_media_player_samsung.h:75
PP_ESPacketEncryptionInfo::key_id
void * key_id
Definition:
pp_media_player_samsung.h:352
PP_VideoTrackInfo
Definition:
pp_media_player_samsung.h:99
PP_AudioTrackInfo::index
uint32_t index
Definition:
pp_media_player_samsung.h:125
PP_AudioTrackInfo
Definition:
pp_media_player_samsung.h:120
PP_MEDIAPLAYERSTATE_PAUSED
Definition:
pp_media_player_samsung.h:56
PP_MEDIAPLAYERSTATE_NONE
Definition:
pp_media_player_samsung.h:39
PP_MediaPlayerDRMType
PP_MediaPlayerDRMType
Definition:
pp_media_player_samsung.h:166
PP_MEDIAPLAYERERROR_NETWORK
Definition:
pp_media_player_samsung.h:69
PP_Size
Definition:
pp_size.h:27
Generated on Wed Apr 20 2016 13:14:41 for Pepper_42_C_interfaces by
1.8.6