MHEG5
15.3.0
|
00001 /******************************************************************************* 00002 * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org) 00003 * Copyright © 2012 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 _STMR_DL_H_ 00026 #define _STMR_DL_H_ 00027 00028 /*---includes for this file--------------------------------------------------*/ 00029 00030 #include "techtype.h" 00031 #include "dvb_ics.h" 00032 #include "stmr_util.h" 00033 #include "mh5profile.h" 00034 #include "stmr_header.h" 00035 00036 /*---Constant and macro definitions for public use---------------------------*/ 00037 00038 /*---Enumerations for public use---------------------------------------------*/ 00039 00040 /*---Global type defs for public use-----------------------------------------*/ 00041 00042 typedef struct sMHEG5HttpStreamRequest 00043 { 00044 U32BIT downloadId; 00045 char *url; 00046 S32BIT rangeFrom; 00047 S32BIT maxBytes; 00048 } MHEG5HttpStreamRequest; 00049 00050 /*---Global variable declarations for public use-----------------------------*/ 00051 00052 /*---Global Function prototypes for public use-------------------------------*/ 00053 00054 00064 U32BIT MHEG5CreateDownloadRequest(U32BIT requestId, char *url, 00065 U64BIT rangeFrom, U64BIT rangeTo, 00066 BOOLEAN lastRequest); 00067 00068 00074 void MHEG5StartDownloadRequest(U32BIT downloadId); 00075 00082 BOOLEAN MHEG5DownloadPositionPartial(U32BIT downloadId,U64BIT *position); 00083 00090 U8BIT* MHEG5GetDownloadRedirect(U32BIT downloadId); 00091 00092 00103 U64BIT MHEG5GetDownloadContentLength(U32BIT downloadId, U64BIT contentLength); 00104 00105 00114 void MHEG5CopyDownloadBitrate(U32BIT downloadId, U32BIT *bytesPerSecond); 00115 00116 00128 void MHEG5CopyDownloadStreamKeyInfo(U32BIT downloadId, 00129 S_ICSKeys *keys, 00130 MHEG5String *keyLocation); 00131 00132 00140 BOOLEAN MHEG5GetDownloadPmt(U32BIT downloadId, U8BIT *pmt); 00141 00142 00148 void MHEG5ResumeDownload(void); 00149 00150 00156 void MHEG5ClearDownloadThrottling(void); 00157 00158 00164 void MHEG5StopDownloadRequest(U32BIT downloadId); 00165 00166 00176 void MHEG5StopDownloadRequestAsync(U32BIT downloadId); 00177 00178 00184 void MHEG5DestroyDownloadRequest(U32BIT downloadId); 00185 00186 00192 void MHEG5ClearDownloadRequest(U32BIT downloadId); 00193 00199 void MHEG5RenewDownloadRequest(U32BIT downloadId,char *url); 00200 00201 00202 #endif /*_STMR_DL_H*/