Classes | |
class | ts::InputPlugin |
Input tsp plugin interface. More... | |
class | ts::OutputPlugin |
Output tsp plugin interface. More... | |
class | ts::Plugin |
Base class of all tsp plugins. More... | |
class | ts::ProcessorPlugin |
Packet processing tsp plugin interface. More... | |
class | ts::TSP |
TSP callback for plugins. More... | |
Namespaces | |
ts | |
TSDuck namespace, containing all TSDuck classes and functions. | |
Macros | |
#define | TSPLUGIN_DECLARE_INPUT(name, type) |
Export input plugin interface out of the shared library. More... | |
#define | TSPLUGIN_DECLARE_OUTPUT(name, type) |
Export output plugin interface out of the shared library. More... | |
#define | TSPLUGIN_DECLARE_PROCESSOR(name, type) |
Export packet processing plugin interface out of the shared library. More... | |
#define | TSPLUGIN_DECLARE_VERSION |
Export the plugin API version number out of the shared library. More... | |
Typedefs | |
typedef InputPlugin *(* | ts::NewInputProfile) (TSP *tsp) |
Input plugin interface profile. More... | |
typedef OutputPlugin *(* | ts::NewOutputProfile) (TSP *tsp) |
Output plugin interface profile. More... | |
typedef ProcessorPlugin *(* | ts::NewProcessorProfile) (TSP *tsp) |
Packet processing plugin interface profile. More... | |
Enumerations | |
enum | ts::PluginType { ts::INPUT_PLUGIN, ts::OUTPUT_PLUGIN, ts::PROCESSOR_PLUGIN } |
Each plugin has one of the following types. More... | |
Variables | |
const Enumeration | ts::PluginTypeNames |
Displayable names of plugin types. | |
Definition of the API of a tsp plugin.
#define TSPLUGIN_DECLARE_VERSION |
Export the plugin API version number out of the shared library.
All tsp
plugin shared libraries must invoke this macro once.
#define TSPLUGIN_DECLARE_INPUT | ( | name, | |
type | |||
) |
Export input plugin interface out of the shared library.
This macro declares the plugin allocation routine. Shall be used by shared libraries which provide input capability.
name | Plugin name. Only used with static link. |
type | Name of a subclass of ts::InputPlugin implementing the plugin. |
#define TSPLUGIN_DECLARE_OUTPUT | ( | name, | |
type | |||
) |
Export output plugin interface out of the shared library.
This macro declares the plugin allocation routine. Shall be used by shared libraries which provide output capability.
name | Plugin name. Only used with static link. |
type | Name of a subclass of ts::OutputPlugin implementing the plugin. |
#define TSPLUGIN_DECLARE_PROCESSOR | ( | name, | |
type | |||
) |
Export packet processing plugin interface out of the shared library.
This macro declares the plugin allocation routine. Shall be used by shared libraries which provide packet processing capability.
name | Plugin name. Only used with static link. |
type | Name of a subclass of ts::ProcessorPlugin implementing the plugin. |