VOCommonPlayerDelegate.h
1 /************************************************************************
2 VisualOn Proprietary
3 Copyright (c) 2012-2016, VisualOn, Inc. All Rights Reserved
4 
5 All data and information contained in or disclosed by this document are
6 confidential and proprietary information of VisualOn, Inc, and all rights
7 therein are expressly reserved. By accepting this material, the recipient
8 agrees that this material and the information contained therein are held
9 in confidence and in trust. The material may only be used and/or disclosed
10 as authorized in a license agreement controlling such use and disclosure.
11 ************************************************************************/
12 
13 #import <Foundation/Foundation.h>
14 #import "VOOSMPType.h"
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif /* __cplusplus */
19 
24  typedef enum {
26  VO_OSMP_CB_ERROR = 0X8000000C,
28  VO_OSMP_CB_PLAY_COMPLETE = 0X00000001,
30  VO_OSMP_CB_VIDEO_START_BUFFER = 0X00000003,
32  VO_OSMP_CB_VIDEO_STOP_BUFFER = 0X00000004,
34  VO_OSMP_CB_AUDIO_START_BUFFER = 0X00000005,
36  VO_OSMP_CB_AUDIO_STOP_BUFFER = 0X00000006,
38  VO_OSMP_CB_SRC_BUFFER_TIME = 0X00000007,
40  VO_OSMP_CB_SRC_BUFFERING_TIME = 0X00000007,
42  VO_OSMP_CB_SEEK_COMPLETE = 0X0000000D,
44  VO_OSMP_CB_VIDEO_ASPECT_RATIO = 0X0000000E,
46  VO_OSMP_CB_VIDEO_SIZE_CHANGED = 0X0000000F,
48  VO_OSMP_CB_CODEC_NOT_SUPPORT = 0X80000010,
50  VO_OSMP_CB_DEBLOCK = 0X00000011,
52  VO_OSMP_CB_HW_DECODER_STATUS = 0X00000013,
55  VO_OSMP_CB_AUTHENTICATION_RESPONSE = 0X00000014,
57  VO_OSMP_CB_LANGUAGE_INFO_AVAILABLE = 0X00000015,
59  VO_OSMP_CB_VIDEO_RENDER_START = 0X00000016,
61  VO_OSMP_CB_OPEN_SRC_COMPLETE = 0X00000017,
63  VO_OSMP_CB_SEI_INFO = 0X00000019,
65  VO_OSMP_CB_AUDIO_RENDER_FAIL = 0X8000001A,
67  VO_OSMP_CB_PCM_OUTPUT = 0X0000001C,
69  VO_OSMP_CB_LICENSE_FAIL = 0X8000001D,
71  VO_OSMP_CB_AUDIO_RENDER_START = 0X00000021,
74  VO_OSMP_CB_BLUETOOTHHANDSET_CONNECTION = 0x00001011,
76  VO_OSMP_CB_ANALYTICS_INFO = 0x00001021,
78  VO_OSMP_CB_OUTPUT_CONTROL_BLOCK_PLAYBACK = 0x00000024,
80  VO_OSMP_CB_OUTPUT_CONTROL_BLOCK_OUTPUT = 0x00000025,
82  VO_OSMP_CB_OUTPUT_CONTROL_CHANGE_RESOLUTION = 0x00000026,
84  VO_OSMP_CB_OUTPUT_CONTROL_DOWNGRADE_RESOLUTION = 0x00000026,
86  VO_OSMP_CB_MULTIPLE_INSTANCES_NOT_SUPPORTED = 0X00000029,
88  VO_OSMP_CB_OUTPUT_CONTROL_CAPTURE_SOFTWARE_RUNNING = 0X0000002B,
90  VO_OSMP_CB_SUSPEND = 0x00000030,
92  VO_OSMP_CB_RESUME = 0x00000031,
95  VO_OSMP_CB_OUTPUT_ROUTE_AIRPLAY = 0x00000032,
96 
101  VO_OSMP_SRC_CB_CONNECTING = 0X02000001,
103  VO_OSMP_SRC_CB_CONNECTION_FINISHED = 0X02000002,
105  VO_OSMP_SRC_CB_CONNECTION_TIMEOUT = 0X82000003,
107  VO_OSMP_SRC_CB_CONNECTION_LOSS = 0X82000004,
109  VO_OSMP_SRC_CB_DOWNLOAD_STATUS = 0X02000005,
111  VO_OSMP_SRC_CB_CONNECTION_FAIL = 0X82000006,
113  VO_OSMP_SRC_CB_DOWNLOAD_FAIL = 0X82000007,
115  VO_OSMP_SRC_CB_DRM_FAIL = 0X82000008,
117  VO_OSMP_SRC_CB_PLAYLIST_PARSE_ERR = 0X82000009,
119  VO_OSMP_SRC_CB_CONNECTION_REJECTED = 0X8200000A,
121  VO_OSMP_SRC_CB_BA_HAPPENED = 0X0200000B,
123  VO_OSMP_SRC_CB_DRM_NOT_SECURE = 0X0200000C,
125  VO_OSMP_SRC_CB_DRM_AV_OUT_FAIL = 0X8200000D,
127  VO_OSMP_SRC_CB_DOWNLOAD_FAIL_WAITING_RECOVER = 0X8200000E,
129  VO_OSMP_SRC_CB_DOWNLOAD_FAIL_RECOVER_SUCCESS = 0X0200000F,
131  VO_OSMP_SRC_CB_OPEN_FINISHED = 0X02000010,
135  VO_OSMP_SRC_CB_CUSTOMER_TAG = 0X02000020,
139  VO_OSMP_SRC_CB_ADAPTIVE_STREAMING_INFO = 0X02000030,
143  VO_OSMP_SRC_CB_ADAPTIVE_STREAMING_ERROR = 0X02000040,
147  VO_OSMP_SRC_CB_ADAPTIVE_STREAM_WARNING = 0X02000050,
151  VO_OSMP_SRC_CB_ADAPTIVE_STREAMING_WARNING = 0X02000050,
153  VO_OSMP_SRC_CB_RTSP_ERROR = 0X02000060,
155  VO_OSMP_SRC_CB_SEEK_COMPLETE = 0X02000070,
157  VO_OSMP_SRC_CB_PROGRAM_CHANGED = 0X02000071,
159  VO_OSMP_SRC_CB_PROGRAM_RESET = 0X02000072,
161  VO_OSMP_SRC_CB_ADAPTIVE_STREAMING_SEEK2LASTCHUNK = 0X02000073,
163  VO_OSMP_SRC_CB_NOT_APPLICABLE_MEDIA = 0X02000074,
165  VO_OSMP_SRC_CB_PD_DOWNLOAD_POSITION = 0X02000075,
167  VO_OSMP_SRC_CB_PD_BUFFERING_PERCENT = 0X02000076,
169  VO_OSMP_SRC_CB_UPDATE_URL_COMPLETE = 0X02000077,
171  VO_OSMP_SRC_CB_PREFERRED_AUDIO_LANGUAGE = 0X02000078,
173  VO_OSMP_SRC_CB_PREFERRED_SUBTITLE_LANGUAGE = 0X02000079,
174 
176  VO_OSMP_SRC_CB_DRM_WARNING = 0X0200007B,
177 
179  VO_OSMP_SRC_CB_IO_HTTP_START_DOWNLOAD = 0X04000001,
182  VO_OSMP_SRC_CB_IO_HTTP_DOWNLOAD_FAIL = 0X04000002,
183 
185  VO_OSMP_AD_CB_PLAYLIST_START = 0X03000001,
187  VO_OSMP_AD_CB_PLAYLIST_END = 0X03000002,
189  VO_OSMP_AD_CB_CONTENT_START = 0X03000003,
191  VO_OSMP_AD_CB_CONTENT_END = 0X03000004,
193  VO_OSMP_AD_CB_AD_START = 0X03000005,
195  VO_OSMP_AD_CB_AD_END = 0X03000006,
197  VO_OSMP_AD_CB_VIDEO_PROGRESS = 0X03000007,
199  VO_OSMP_AD_CB_VIDEO_DONE = 0X03000008,
201  VO_OSMP_AD_CB_STATE_CHANGE = 0X03000009,
203  VO_OSMP_AD_CB_NO_AD_CONTENT = 0X8300000A,
205  VO_OSMP_AD_CB_AD_LOAD_ERROR = 0X8300000B,
207  VO_OSMP_AD_CB_VIDEO_NOT_AVAILABLE = 0X8300000C,
209  VO_OSMP_AD_CB_DATA_LOAD_ERROR = 0X8300000D,
210 
212  VO_OSMP_CB_EVENT_ID_MAX = 0xFFFFFFFF
213  } VO_OSMP_CB_EVENT_ID;
214 
215 
226  typedef enum {
231  VO_OSMP_SRC_CB_SYNC_AUTHENTICATION_DRM_SERVER_INFO = 0X03000001,
232 
236  VO_OSMP_SRC_CB_SYNC_IO_HTTP_START_DOWNLOAD = 0X03000002,
237 
241  VO_OSMP_SRC_CB_SYNC_IO_HTTP_DOWNLOAD_FAIL = 0X03000003,
242 
244  VO_OSMP_CB_SYNC_EVENT_ID_MAX = 0XFFFFFFFF
245 
246  } VO_OSMP_CB_SYNC_EVENT_ID;
247 
248 
253  typedef enum {
255  VO_OSMP_SRC_CUSTOMERTAGID_TIMEDTAG = 0X00000001,
256 
258  VO_OSMP_SRC_CUSTOMERTAGID_MAX = 0xFFFFFFFF
259  } VO_OSMP_SRC_CUSTOMERTAGID;
260 
261 
266  typedef enum {
268  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT_BITRATE_CHANGE = 0x00000001,
270  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT_MEDIATYPE_CHANGE = 0x00000002,
272  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT_PROGRAM_TYPE = 0x00000003,
275  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT_CHUNK_BEGINDOWNLOAD = 0x00000004,
277  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT_CHUNK_DROPPED = 0x00000005,
279  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT_CHUNK_DOWNLOADOK = 0x00000006,
281  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT_PLAYLIST_DOWNLOADOK = 0x00000007,
283  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT_PROGRAM_CHANGE = 0x00000008,
285  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT_FILE_FORMATSUPPORTED = 0x00000009,
287  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT_LIVESEEKABLE = 0x0000000A,
289  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT_SESSION_DATA = 0x0000000D,
290 
292  VO_OSMP_SRC_ADAPTIVE_STREAMING_INFOEVENT_MAX = 0xFFFFFFFF
293  } VO_OSMP_SRC_ADAPTIVE_STREAMING_INFO_EVENT;
294 
295 
300  typedef enum {
302  VO_OSMP_SRC_ADAPTIVE_STREAMING_ERROR_EVENT_PLAYLIST_PARSEFAIL = 0x00000001,
304  VO_OSMP_SRC_ADAPTIVE_STREAMING_ERROR_EVENT_PLAYLIST_UNSUPPORTED = 0x00000002,
306  VO_OSMP_SRC_ADAPTIVE_STREAMING_ERROR_EVENT_STREAMING_UNSUPPORTED = 0x00000003,
320  VO_OSMP_SRC_ADAPTIVE_STREAMING_ERROR_EVENT_STREAMING_DOWNLOADFAIL = 0x00000004,
322  VO_OSMP_SRC_ADAPTIVE_STREAMING_ERROR_EVENT_STREAMING_DRMLICENSEERROR = 0x00000005,
323 
325  VO_OSMP_SRC_ADAPTIVESTREAMING_ERROR_EVENT_MAX = 0xFFFFFFFF
326  } VO_OSMP_SRC_ADAPTIVE_STREAMING_ERROR_EVENT;
327 
332  typedef enum {
334  VO_OSMP_SRC_ADAPTIVE_STREAMING_WARNING_EVENT_CHUNK_DOWNLOADERROR = 0x00000001,
336  VO_OSMP_SRC_ADAPTIVE_STREAMING_WARNING_EVENT_CHUNK_FILEFORMATUNSUPPORTED = 0x00000002,
338  VO_OSMP_SRC_ADAPTIVE_STREAMING_WARNING_EVENT_CHUNK_DRMERROR = 0x00000003,
340  VO_OSMP_SRC_ADAPTIVE_STREAMING_WARNING_EVENT_PLAYLIST_DOWNLOADERROR = 0x00000004,
341 
343  VO_OSMP_SRC_ADAPTIVE_STREAMING_WARNING_EVENT_MAX = 0xFFFFFFFF
344  } VO_OSMP_SRC_ADAPTIVE_STREAMING_WARNING_EVENT;
345 
351  typedef enum {
353  VO_OSMP_AVAILABLE_PUREAUDIO = 0x00000000,
355  VO_OSMP_AVAILABLE_PUREVIDEO = 0x00000001,
357  VO_OSMP_AVAILABLE_AUDIOVIDEO = 0x00000002,
359  VO_OSMP_AVAILABLE_MAX = 0xFFFFFFFF
360  } VO_OSMP_AVAILABLE_TRACK_TYPE;
361 
365  typedef enum
366  {
368  VO_OSMP_SRC_RTSP_ERROR_CONNECT_FAIL = 0x00000001,
370  VO_OSMP_SRC_RTSP_ERROR_DESCRIBE_FAIL = 0x00000002,
372  VO_OSMP_SRC_RTSP_ERROR_SETUP_FAIL = 0x00000003,
374  VO_OSMP_SRC_RTSP_ERROR_PLAY_FAIL = 0x00000004,
376  VO_OSMP_SRC_RTSP_ERROR_PAUSE_FAIL = 0x00000005,
378  VO_OSMP_SRC_RTSP_ERROR_OPTION_FAIL = 0x00000006,
380  VO_OSMP_SRC_RTSP_ERROR_SOCKET_ERROR = 0x00000007,
382  VO_OSMP_SRC_RTSP_ERROR_HTTP_ERROR = 0x00000008,
384  VO_OSMP_SRC_RTSP_ERROR_URL_EXPIRED = 0x00000009,
386  VO_OSMP_SRC_RTSP_ERROR_MAX = 0xFFFFFFFF,
387  } VO_OSMP_SRC_RTSP_ERROR;
388 
393  typedef enum {
395  VO_OSMP_AD_STATUS_UNSTARTED = -1,
397  VO_OSMP_AD_STATUS_STOPPED = 0,
399  VO_OSMP_AD_STATUS_PLAYING = 1,
401  VO_OSMP_AD_STATUS_PAUSED = 2,
403  VO_OSMP_AD_STATUS_BUFFERING = 3,
405  VO_OSMP_AD_STATUS_DOMAIN_BLACKLISTED = 100,
407  VO_OSMP_AD_STATUS_VIDEO_NOT_AVAILABLE = 110,
409  VO_OSMP_AD_STATUS_DATA_LOAD_ERROR = 130,
411  VO_OSMP_AD_STATUS_AD_LOAD_ERROR = 140,
412 
414  VO_OSMP_AD_STATUS_MAX = 0xFFFFFFFF
415  } VO_OSMP_AD_STATUS;
416 
417 
418 #ifdef __cplusplus
419 } /* extern "C" */
420 #endif /* __cplusplus */
421 
422 
426 @protocol VOCommonPlayerDelegate <NSObject>
427 
438 - (VO_OSMP_RETURN_CODE) onVOEvent:(VO_OSMP_CB_EVENT_ID)nID param1:(int)param1 param2:(int)param2 pObj:(void *)pObj;
439 
452 @optional
453 - (VO_OSMP_RETURN_CODE) onVOSyncEvent:(VO_OSMP_CB_SYNC_EVENT_ID)nID param1:(int)param1 param2:(int)param2 pObj:(void *)pObj;
454 
455 @end
456