DSMCC  17.9.0
 All Data Structures Files Functions Typedefs
stb_filter.h
Go to the documentation of this file.
1 /*******************************************************************************
2  * Copyright © 2014 The DTVKit Open Software Foundation Ltd (www.dtvkit.org)
3  * Copyright © 2013 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  *******************************************************************************/
26 #if !defined(_STB_FILTER_H)
27 #define _STB_FILTER_H
28 
29 #include "dmxtypes.h"
30 
31 #if defined(__cplusplus)
32 extern "C" {
33 #endif
34 
35 typedef void (*F_FILTER_CALLBACK)(DMXREF dmx, U16BIT bytes, PIDFILT pfid);
36 
45 PIDFILT STB_DMXGrabPIDFilter(DMXREF dmx, U16BIT pid, F_FILTER_CALLBACK func);
46 
56 BOOLEAN STB_DMXCopyPIDFilterSect(DMXREF dmx, U8BIT *buffer, U16BIT size, PIDFILT pfid);
57 
63 void STB_DMXSkipPIDFilterSect(DMXREF dmx, PIDFILT pfid);
64 
71 SECFILT STB_DMXGrabSectFilter(DMXREF dmx, PIDFILT pfid);
72 
82 void STB_DMXSetupSectFilter(DMXREF dmx, SECFILT sfid, U8BIT *match_ptr, U8BIT *mask_ptr,
83  U8BIT not_equal_byte_index, BOOLEAN crc);
84 
90 void STB_DMXStartPIDFilter(DMXREF dmx, PIDFILT pfid);
91 
97 void STB_DMXStopPIDFilter(DMXREF dmx, PIDFILT pfid);
98 
104 void STB_DMXReleasePIDFilter(DMXREF dmx, PIDFILT pfid);
105 
111 void STB_DMXReleaseSectFilter(DMXREF dmx, SECFILT sfid);
112 
113 
114 #if defined(__cplusplus)
115 }
116 #endif
117 
118 #endif /* _STB_FILTER_H */
PIDFILT STB_DMXGrabPIDFilter(DMXREF dmx, U16BIT pid, F_FILTER_CALLBACK func)
Get a New PID Filter & Setup Associated Buffer and Callback Function Address.
void STB_DMXSetupSectFilter(DMXREF dmx, SECFILT sfid, U8BIT *match_ptr, U8BIT *mask_ptr, U8BIT not_equal_byte_index, BOOLEAN crc)
Configures a match and mask for a specified section filter.
BOOLEAN STB_DMXCopyPIDFilterSect(DMXREF dmx, U8BIT *buffer, U16BIT size, PIDFILT pfid)
Copies a filtered section to caller's buffer.
void STB_DMXStopPIDFilter(DMXREF dmx, PIDFILT pfid)
Stop Specified PID Filter Collecting Data.
void STB_DMXSkipPIDFilterSect(DMXREF dmx, PIDFILT pfid)
Skips (discards) a section in the PID filter buffer.
Define Demux types use in section filter API.
void STB_DMXReleasePIDFilter(DMXREF dmx, PIDFILT pfid)
Releases a previously allocated PID filter.
SECFILT STB_DMXGrabSectFilter(DMXREF dmx, PIDFILT pfid)
Allocated a new section filter on the specified PID filter.
void STB_DMXStartPIDFilter(DMXREF dmx, PIDFILT pfid)
Start Specified PID Filter Collecting Data.
void STB_DMXReleaseSectFilter(DMXREF dmx, SECFILT sfid)
Releases a previously allocated section filter.