Wasabi ExpressPlay SDK for iOS
1.10
Main Page
Modules
Data Structures
Files
File List
Globals
Client
Source
PlaylistProxy
WsbPlaylistProxy.h
Go to the documentation of this file.
1
/*****************************************************************
2
|
3
| Wasabi - Playlist Proxy, C interface
4
|
5
| $Id: WsbPlaylistProxy.h 10793 2014-06-25 12:46:08Z jebaseelir $
6
| Original author: Edin Hodzic (dino@concisoft.com)
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) 2011-2014 by Intertrust. All rights reserved.
14
|
15
****************************************************************/
21
#ifndef _WSB_PLAYLIST_PROXY_H_
22
#define _WSB_PLAYLIST_PROXY_H_
23
40
/*----------------------------------------------------------------------
41
| includes
42
+---------------------------------------------------------------------*/
43
#include "
WsbResults.h
"
44
#include "
WsbTypes.h
"
45
46
/*----------------------------------------------------------------------
47
| types
48
+---------------------------------------------------------------------*/
49
50
56
typedef
struct
WSB_PlaylistProxy
WSB_PlaylistProxy
;
57
66
typedef
enum
{
67
69
WSB_PPMST_SINGLE_FILE
,
70
72
WSB_PPMST_HLS
,
73
75
WSB_PPMST_DASH
76
77
}
WSB_PlaylistProxy_MediaSourceType
;
78
83
typedef
struct
{
84
87
const
char
*
source_content_type
;
88
92
const
char
*
content_type
;
93
98
unsigned
int
duration_seconds
;
99
102
unsigned
int
bitrate_bps
;
103
105
const
char
*
language
;
106
117
const
char
*
audio_codecs
;
118
129
const
char
*
video_codecs
;
130
135
const
char
*
bbts_index_url
;
136
144
const
char
*
master_playlist_appendix
;
145
146
}
WSB_PlaylistProxy_MediaSourceParams
;
147
148
/*----------------------------------------------------------------------
149
| functions
150
+---------------------------------------------------------------------*/
151
152
#if defined(__cplusplus)
153
extern
"C"
{
154
#endif
155
167
WSB_EXPORT
WSB_Result
168
WSB_PlaylistProxy_Create
(
WSB_PlaylistProxy
**
self
);
169
177
#define WSB_PP_FLAG_ENCRYPTED_HLS (1<<0)
178
187
#define WSB_PP_FLAG_AUTH_TOKEN_HEADER (1<<1)
188
194
#define WSB_PP_FLAG_DEBUG_SESSION_KEY (1<<2)
195
206
WSB_EXPORT
WSB_Result
207
WSB_PlaylistProxy_CreateWithFlags
(
WSB_UInt32
flags,
WSB_PlaylistProxy
**
self
);
208
215
WSB_EXPORT
WSB_Result
216
WSB_PlaylistProxy_Destroy
(
WSB_PlaylistProxy
*
self
);
217
223
WSB_EXPORT
WSB_Result
224
WSB_PlaylistProxy_Start
(
WSB_PlaylistProxy
*
self
);
225
235
WSB_EXPORT
WSB_Result
236
WSB_PlaylistProxy_Stop
(
WSB_PlaylistProxy
*
self
);
237
254
WSB_EXPORT
WSB_Result
255
WSB_PlaylistProxy_GetAndClearLastError
(
WSB_PlaylistProxy
*
self
);
256
282
WSB_EXPORT
WSB_Result
283
WSB_PlaylistProxy_MakeUrl
(
284
WSB_PlaylistProxy
*
self
,
285
const
char
* media_source,
286
WSB_PlaylistProxy_MediaSourceType
media_source_type,
287
const
WSB_PlaylistProxy_MediaSourceParams
* media_source_params,
288
const
char
** http_url);
289
309
WSB_EXPORT
WSB_Result
310
WSB_PlaylistProxy_GetAuthToken
(
WSB_PlaylistProxy
*
self
,
311
char
* auth_token,
312
WSB_Size
* token_size);
317
typedef
enum
{
319
WSB_PPSKF_CLEAR
,
321
WSB_PPSKF_SKB
322
}
WSB_PlaylistProxySessionKeyFormat
;
323
342
WSB_EXPORT
WSB_Result
343
WSB_PlaylistProxy_GetSessionKey
(
WSB_PlaylistProxy
*
self
,
344
WSB_PlaylistProxySessionKeyFormat
key_format,
345
WSB_Byte
* key,
346
WSB_Size
* key_size);
347
350
#if defined(__cplusplus)
351
}
352
#endif
353
354
#endif
/* _WSB_PLAYLIST_PROXY_H_ */