DVBCore  22.11.0
Open Source DVB Engine
ap_temi.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright (c) 2020 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright (c) 2020 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 /* pre-processor mechanism so multiple inclusions don't cause compilation error*/
26 
27 #ifndef _AP_TEMI_H
28 #define _AP_TEMI_H
29 
30 #include "techtype.h"
31 
32 /*---Constant and macro definitions for public use-----------------------------*/
33 #define TEMI_FILTER_INVALID 0xffff
34 
35 /*---Enumerations for public use-----------------------------------------------*/
36 
40 typedef enum
41 {
42  TEMI_NOTIFICATION_AVAILABLE = 0,
43  TEMI_NOTIFICATION_DISAPPEARED,
44  TEMI_NOTIFICATION_PAUSED
46 
47 /*---Global type defs for public use-------------------------------------------*/
48 
49 typedef void (*TEMI_CALLBACK)(U16BIT pfilt_id, E_TEMI_NOTIFICATION_TYPE type);
50 
51 typedef struct
52 {
53  U64BIT pts;
54  U32BIT timescale;
55  U64BIT media_timestamp;
57 
58 
59 /*---Global Function prototypes for public use---------------------------------*/
60 
64 void TEMI_Initialise(void);
65 
69 void TEMI_Finalise(void);
70 
79 U16BIT TEMI_StartMonitoring(U8BIT path, U8BIT component_tag, U8BIT timeline_id, TEMI_CALLBACK cb);
80 
85 void TEMI_StopMonitoring(U16BIT filt_id);
86 
93 
94 #endif /* _AP_TEMI_H */
void TEMI_Initialise(void)
Initialises TEMI timeline monitoring.
Definition: ap_temi.c:147
void TEMI_Finalise(void)
Finalises TEMI timeline monitoring.
Definition: ap_temi.c:208
Definition: ap_temi.h:51
void TEMI_StopMonitoring(U16BIT filt_id)
Stop specified TEMI timeline monitoring.
Definition: ap_temi.c:365
S_TEMI_TIMESTAMP TEMI_GetCurrentTimestamp(U16BIT filt_id)
Get the current timestamp of the specified TEMI timeline.
Definition: ap_temi.c:402
E_TEMI_NOTIFICATION_TYPE
TEMI notification types.
Definition: ap_temi.h:40
System Wide Global Technical Data Type Definitions.
U16BIT TEMI_StartMonitoring(U8BIT path, U8BIT component_tag, U8BIT timeline_id, TEMI_CALLBACK cb)
Start specified TEMI timeline monitoring.
Definition: ap_temi.c:230