MHEG5
15.3.0
|
00001 /******************************************************************************* 00002 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org) 00003 * Copyright © 2010 Ocean Blue Software Ltd 00004 * 00005 * This file is part of a DTVKit Software Component 00006 * You are permitted to copy, modify or distribute this file subject to the terms 00007 * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org 00008 * 00009 * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 00010 * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES 00011 * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE. 00012 * 00013 * If you or your organisation is not a member of DTVKit then you have access 00014 * to this source code outside of the terms of the licence agreement 00015 * and you are expected to delete this and any associated files immediately. 00016 * Further information on DTVKit, membership and terms can be found at www.dtvkit.org 00017 *******************************************************************************/ 00025 #ifndef _MH5STREAMER_H_ 00026 #define _MH5STREAMER_H_ 00027 00028 /*---includes for this file--------------------------------------------------*/ 00029 #include "mh5base.h" 00030 #include "mh5stream.h" 00031 #include "mh5program.h" 00032 #include "mherrors.h" 00033 00034 /*---Constant and macro definitions for public use---------------------------*/ 00035 00036 /*---Enumerations for public use---------------------------------------------*/ 00037 00038 /*---Global type defs for public use-----------------------------------------*/ 00039 00040 typedef enum 00041 { 00042 MHEG5_STREAMER_EVENT_HTTP_HEADERS_DONE, 00043 MHEG5_STREAMER_EVENT_HTTP_DOWNLOAD_DONE, 00044 MHEG5_STREAMER_EVENT_MSP_DOWNLOAD_DONE, 00045 MHEG5_STREAMER_EVENT_TASK_STREAM_UNDERFLOW, 00046 MHEG5_STREAMER_EVENT_TASK_STREAM_UNDERFLOW_RESUME, 00047 MHEG5_STREAMER_EVENT_TASK_STREAM_PLAYING, 00048 MHEG5_STREAMER_EVENT_TASK_STREAM_STOPPED, 00049 MHEG5_STREAMER_EVENT_CONTENT_AVAILABLE, 00050 MHEG5_STREAMER_EVENT_COUNTER_TRIGGER 00051 } MHEG5StreamerEventType; 00052 00053 /*---Global variable declarations for public use-----------------------------*/ 00054 00055 /*---Global Function prototypes for public use-------------------------------*/ 00056 00064 E_MhegErr MHEG5StreamerOpen(void *buffer, U32BIT size, U32BIT taskPriority); 00065 00070 void MHEG5StreamerReset(void); 00071 00072 00078 void MHEG5StreamerPrepare(MHEG5Stream *stream); 00079 00080 00086 S32BIT MHEG5StreamerGetCounterPosition(MHEG5Stream *stream); 00087 00088 00095 void MHEG5StreamerSetCounterPosition(MHEG5Stream *stream); 00096 00097 00104 void MHEG5StreamerSetCounterEndPosition(MHEG5Stream *stream); 00105 00106 00113 S32BIT MHEG5StreamerGetCounterMaxPosition(MHEG5Stream *stream); 00114 00115 00126 void MHEG5StreamerSetCounterTrigger(MHEG5Stream *stream, S32BIT triggerId, 00127 S32BIT newValue); 00128 00129 00136 S32BIT MHEG5StreamerGetCounterMaxPosition(MHEG5Stream *stream); 00137 00138 00144 void MHEG5StreamerRun(MHEG5Stream *stream); 00145 00146 00152 void MHEG5StreamerStop(MHEG5Stream *stream); 00153 00154 00160 void MHEG5StreamerPause(MHEG5Stream *stream); 00161 00162 00168 void MHEG5StreamerResume(MHEG5Stream *stream); 00169 00170 00177 BOOLEAN MHEG5StreamerIsRunable(MHEG5Stream *stream); 00178 00179 00185 void MHEG5StreamerRemove(MHEG5Stream *stream); 00186 00187 00194 void MHEG5StreamerNotifyStreamStarted(MHEG5Stream *stream); 00195 00196 00203 void MHEG5StreamerNotifyStreamStopped(MHEG5Stream *stream); 00204 00213 void MHEG5StreamerMeasurePerformance(MHEG5String *url, MHEG5Int maxBytes, 00214 MHEG5Program *program); 00215 00216 00222 void MHEG5StreamerAbortMeasurement(MHEG5Program *program); 00223 00224 00231 void MHEG5StreamerSetActiveState(BOOLEAN activeState); 00232 00233 00238 void MHEG5StreamerClose(void); 00239 00245 void MHEG5streamerNotifyStreamingReady(void); 00246 00247 00248 #endif /*_MH5STREAMER_H*/