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