MHEG5  15.3.0
source/ics/inc/mh5streamer.h
Go to the documentation of this file.
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*/
 All Data Structures Files Functions Variables Typedefs Defines