MHEG  17.9.0
 All Data Structures Files Functions Variables Typedefs Enumerations Macros Pages
stmr_header.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2010 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_HEADER_H_
26 #define _STMR_HEADER_H_
27 
28 /*---includes for this file--------------------------------------------------*/
29 
30 #include "techtype.h"
31 #include "httptype.h"
32 #include "dvb_ics.h"
33 #include "stmr_util.h"
34 
35 /*---Constant and macro definitions for public use---------------------------*/
36 
37 /*---Enumerations for public use---------------------------------------------*/
38 
39 /*---Global type defs for public use-----------------------------------------*/
40 
41 /* Encryption keys for IP streams */
42 typedef struct
43 {
44  U16BIT PID;
45  U8BIT odd_key[16];
46  U8BIT even_key[16];
47  U8BIT iv[16];
48 } S_ICSPidInfo;
49 
50 typedef struct
51 {
52  S_ICSPidInfo *pid_info;
53  U16BIT num_pids;
54 } S_ICSKeys;
55 
56 
57 /*---Global variable declarations for public use-----------------------------*/
58 
59 /*---Global Function prototypes for public use-------------------------------*/
60 
69 void MHEG5parseStreamKeys(U8BIT *data, U16BIT len, S_ICSKeys *keys);
70 
79 void MHEG5ParseXKeys(U8BIT *data, U32BIT len, S_ICSKeys *keys);
80 
81 
89 void MHEG5ParseXKeyLocation(U8BIT *data, U32BIT len, MHEG5String *keyLocation);
90 
91 
100 void MHEG5ParseXBytesPerSecond(U8BIT *data, U32BIT len, U32BIT *bytesPerSecond,
101  BOOLEAN *knownBitrate);
102 
103 
104 #endif /*_STMR_HEADER_H*/
Utilitiy functions for IC Streamer.
void MHEG5parseStreamKeys(U8BIT *data, U16BIT len, S_ICSKeys *keys)
Parse IC stream keys. These keys are delivered in the HTTP headers or in a separate file...
Definition: stmr_header.c:119
Definition: mh5base.h:82
Definition: stmr_header.h:50
void MHEG5ParseXBytesPerSecond(U8BIT *data, U32BIT len, U32BIT *bytesPerSecond, BOOLEAN *knownBitrate)
Parse "X-BytesPerSecond" header and return its value.
Definition: stmr_header.c:277
System Wide Global Technical Data Type Definitions.
Interaction Channel Streaming functions required by MHEG5 engine References: [1] UK1 Profile - Digita...
HTTP types.
void MHEG5ParseXKeys(U8BIT *data, U32BIT len, S_ICSKeys *keys)
Parse "X-Keys" header and return the key information. If the keys cannot be parsed, keys->num_pids will be zero.
Definition: stmr_header.c:237
Definition: stmr_header.h:42
void MHEG5ParseXKeyLocation(U8BIT *data, U32BIT len, MHEG5String *keyLocation)
Parse "X-KeyLocation" header and return the key location.
Definition: stmr_header.c:249