MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
stmr_dl.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2012 Ocean Blue Software Ltd
4  *
5  * This file is part of a DTVKit Software Component
6  * You are permitted to copy, modify or distribute this file subject to the terms
7  * of the DTVKit 1.0 Licence which can be found in licence.txt or at www.dtvkit.org
8  *
9  * THIS CODE AND INFORMATION ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND,
10  * EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
11  * OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
12  *
13  * If you or your organisation is not a member of DTVKit then you have access
14  * to this source code outside of the terms of the licence agreement
15  * and you are expected to delete this and any associated files immediately.
16  * Further information on DTVKit, membership and terms can be found at www.dtvkit.org
17  *******************************************************************************/
25 #ifndef _STMR_DL_H_
26 #define _STMR_DL_H_
27 
28 /*---includes for this file--------------------------------------------------*/
29 
30 #include "techtype.h"
31 #include "dvb_ics.h"
32 #include "stmr_util.h"
33 #include "mh5profile.h"
34 #include "stmr_header.h"
35 
36 /*---Constant and macro definitions for public use---------------------------*/
37 
38 /*---Enumerations for public use---------------------------------------------*/
39 
40 /*---Global type defs for public use-----------------------------------------*/
41 
43 {
44  U32BIT downloadId;
45  char *url;
46  S32BIT rangeFrom;
47  S32BIT maxBytes;
49 
50 /*---Global variable declarations for public use-----------------------------*/
51 
52 /*---Global Function prototypes for public use-------------------------------*/
53 
54 
64 U32BIT MHEG5CreateDownloadRequest(U32BIT requestId, char *url,
65  U64BIT rangeFrom, U64BIT rangeTo,
66  BOOLEAN lastRequest);
67 
68 
74 void MHEG5StartDownloadRequest(U32BIT downloadId);
75 
82 BOOLEAN MHEG5DownloadPositionPartial(U32BIT downloadId,U64BIT *position);
83 
90 U8BIT* MHEG5GetDownloadRedirect(U32BIT downloadId);
91 
92 
103 U64BIT MHEG5GetDownloadContentLength(U32BIT downloadId, U64BIT contentLength);
104 
105 
114 void MHEG5CopyDownloadBitrate(U32BIT downloadId, U32BIT *bytesPerSecond);
115 
116 
128 void MHEG5CopyDownloadStreamKeyInfo(U32BIT downloadId,
129  S_ICSKeys *keys,
130  MHEG5String *keyLocation);
131 
132 
140 BOOLEAN MHEG5GetDownloadPmt(U32BIT downloadId, U8BIT *pmt);
141 
142 
148 void MHEG5ResumeDownload(void);
149 
150 
157 
158 
164 void MHEG5StopDownloadRequest(U32BIT downloadId);
165 
166 
176 void MHEG5StopDownloadRequestAsync(U32BIT downloadId);
177 
178 
184 void MHEG5DestroyDownloadRequest(U32BIT downloadId);
185 
186 
192 void MHEG5ClearDownloadRequest(U32BIT downloadId);
193 
199 void MHEG5RenewDownloadRequest(U32BIT downloadId,char *url);
200 
201 
202 #endif /*_STMR_DL_H*/
IC Streamer http header parser.
Utilitiy functions for IC Streamer.
void MHEG5ClearDownloadRequest(U32BIT downloadId)
Clear HTTP download request.
Definition: stmr_dl.c:667
Definition: mh5base.h:82
Definition: stmr_header.h:50
void MHEG5StopDownloadRequestAsync(U32BIT downloadId)
Stop HTTP download request asynchronously. This function should be used when the caller wants to stop...
Definition: stmr_dl.c:609
void MHEG5StopDownloadRequest(U32BIT downloadId)
Stop HTTP download request.
Definition: stmr_dl.c:584
void MHEG5ClearDownloadThrottling(void)
Clear information about throttling, causing the download to proceed at full speed (until throttling k...
Definition: stmr_dl.c:549
U8BIT * MHEG5GetDownloadRedirect(U32BIT downloadId)
Return the redirection URL for a request that was redirected (HTTP status 3xx).
Definition: stmr_dl.c:337
This file defines the profile for the MHEG engine.
void MHEG5CopyDownloadBitrate(U32BIT downloadId, U32BIT *bytesPerSecond)
Copy download bitrate that was obtained from the headers. If the X-BytesPerSecond header were not rec...
Definition: stmr_dl.c:416
void MHEG5RenewDownloadRequest(U32BIT downloadId, char *url)
Renew HTTP download request.
Definition: stmr_dl.c:697
void MHEG5CopyDownloadStreamKeyInfo(U32BIT downloadId, S_ICSKeys *keys, MHEG5String *keyLocation)
Copy any keys or key location that were obtained from the headers. If such keys or location exist...
Definition: stmr_dl.c:444
BOOLEAN MHEG5GetDownloadPmt(U32BIT downloadId, U8BIT *pmt)
Return program map table (PMT) for download (if available). The table is provided as a complete secti...
Definition: stmr_dl.c:501
BOOLEAN MHEG5DownloadPositionPartial(U32BIT downloadId, U64BIT *position)
Return what is current position of download request.
Definition: stmr_dl.c:359
System Wide Global Technical Data Type Definitions.
Definition: stmr_dl.h:42
void MHEG5DestroyDownloadRequest(U32BIT downloadId)
Destroy HTTP download request.
Definition: stmr_dl.c:627
void MHEG5StartDownloadRequest(U32BIT downloadId)
Start HTTP download request.
Definition: stmr_dl.c:317
U32BIT MHEG5CreateDownloadRequest(U32BIT requestId, char *url, U64BIT rangeFrom, U64BIT rangeTo, BOOLEAN lastRequest)
Create HTTP download request.
Definition: stmr_dl.c:212
void MHEG5ResumeDownload(void)
Resume download of the active request. Download may or may not have been paused due to the buffer bei...
Definition: stmr_dl.c:527
Interaction Channel Streaming functions required by MHEG5 engine References: [1] UK1 Profile - Digita...
U64BIT MHEG5GetDownloadContentLength(U32BIT downloadId, U64BIT contentLength)
Return content length (in bytes) for download request. The content length may be: ...
Definition: stmr_dl.c:394
Definition: glue_ulong.h:109