TSDuck Version 3.29-2562 (TSDuck - The MPEG Transport Stream Toolkit)
ts::TSProcessor Class Reference

Core of the TSP Transport Stream Processor. More...

Inheritance diagram for ts::TSProcessor:
Collaboration diagram for ts::TSProcessor:

Public Member Functions

 TSProcessor (Report &report)
 Constructor. More...
 
 ~TSProcessor ()
 Destructor. More...
 
void abort ()
 Abort the processing. More...
 
void callEventHandlers (const PluginEventContext &context) const
 Invoke all event handlers for a given event. More...
 
bool isStarted ()
 Check if the TS processing is started. More...
 
void registerEventHandler (PluginEventHandlerInterface *handler, const Criteria &criteria=Criteria())
 Register an event handler. More...
 
Reportreport () const
 Get a reference to the report object for the TS processor. More...
 
bool start (const TSProcessorArgs &args)
 Start the TS processing. More...
 
void unregisterEventHandler (PluginEventHandlerInterface *handler=nullptr)
 Unregister all occurences of an event handler. More...
 
void waitForTermination ()
 Suspend the calling thread until TS processing is completed.
 

Detailed Description

Core of the TSP Transport Stream Processor.

This class is used by the tsp utility. It can also be used in other applications to run a chain of plugins.

Constructor & Destructor Documentation

◆ TSProcessor()

ts::TSProcessor::TSProcessor ( Report report)

Constructor.

Parameters
[in,out]reportWhere to report errors, logs, etc. This object will be used concurrently by all plugin execution threads. Consequently, it must be thread-safe. For performance reasons, it should be asynchronous (see for instance class AsyncReport).

◆ ~TSProcessor()

ts::TSProcessor::~TSProcessor ( )

Destructor.

It waits for termination of the TS processing if it is running.

Member Function Documentation

◆ report()

Report& ts::TSProcessor::report ( ) const
inline

Get a reference to the report object for the TS processor.

Returns
A reference to the report object for the TS processor.

◆ start()

bool ts::TSProcessor::start ( const TSProcessorArgs args)

Start the TS processing.

Parameters
[in]argsArguments and options.
Returns
True on success, false on failure to start.

◆ isStarted()

bool ts::TSProcessor::isStarted ( )

Check if the TS processing is started.

Returns
True if the processing is in progress, false otherwise.

◆ abort()

void ts::TSProcessor::abort ( )

Abort the processing.

The method can be invoked from any thread, including an interrupt handler for instance.

◆ registerEventHandler()

void ts::PluginEventHandlerRegistry::registerEventHandler ( PluginEventHandlerInterface handler,
const Criteria criteria = Criteria() 
)
inherited

Register an event handler.

Note: calling this function while executing a plugin event hander does nothing.

Parameters
[in]handlerThe event handler to register.
[in]criteriaThe criteria for which the handler is to be called.

◆ unregisterEventHandler()

void ts::PluginEventHandlerRegistry::unregisterEventHandler ( PluginEventHandlerInterface handler = nullptr)
inherited

Unregister all occurences of an event handler.

Note: calling this function while executing a plugin event hander does nothing. This is typically used in the destructor of an event handler.

Parameters
[in]handlerThe event handler to unregister. When null, all events are unregistered.

◆ callEventHandlers()

void ts::PluginEventHandlerRegistry::callEventHandlers ( const PluginEventContext context) const
inherited

Invoke all event handlers for a given event.

Parameters
[in]contextEvent context.

The documentation for this class was generated from the following file: