TSDuck v3.43-4509
MPEG Transport Stream Toolkit
Loading...
Searching...
No Matches

This class extract files from FLUTE streams in UDP datagrams. More...

#include <tsFluteDemux.h>

Public Member Functions

 FluteDemux (DuckContext &duck, FluteHandlerInterface *handler=nullptr)
 Constructor.
 
 ~FluteDemux ()
 Destructor.
 
template<class Rep , class Period >
void feedPacket (const cn::duration< Rep, Period > &timestamp, const IPPacket &pkt)
 The following method feeds the demux with an IP packet.
 
template<class Rep , class Period >
void feedPacket (const cn::duration< Rep, Period > &timestamp, const IPSocketAddress &source, const IPSocketAddress &destination, const uint8_t *udp, size_t udp_size)
 The following method feeds the demux with a UDP packet.
 
void getFilesStatus ()
 Get the current status of all file transfers.
 
bool reset (const FluteDemuxArgs &args)
 Reset the demux.
 
void setHandler (FluteHandlerInterface *h)
 Replace the FLUTE handler.
 

Detailed Description

This class extract files from FLUTE streams in UDP datagrams.

Constructor & Destructor Documentation

◆ FluteDemux()

ts::FluteDemux::FluteDemux ( DuckContext duck,
FluteHandlerInterface handler = nullptr 
)
explicit

Constructor.

Parameters
[in,out]duckTSDuck execution context. The reference is kept inside the demux.
[in]handlerThe object to invoke when FLUTE information is found.

Member Function Documentation

◆ setHandler()

void ts::FluteDemux::setHandler ( FluteHandlerInterface h)
inline

Replace the FLUTE handler.

Parameters
[in]hThe new handler.

◆ reset()

bool ts::FluteDemux::reset ( const FluteDemuxArgs args)

Reset the demux.

Parameters
[in]argsDemux arguments.
Returns
True on success, false on error.

◆ feedPacket() [1/2]

template<class Rep , class Period >
void ts::FluteDemux::feedPacket ( const cn::duration< Rep, Period > &  timestamp,
const IPPacket pkt 
)

The following method feeds the demux with an IP packet.

The packet is ignored if this is not a UDP packet.

Parameters
[in]timestampPacket time stamp value. This value should be taken from a monotonic clock.
[in]pktAn IP packet.

◆ feedPacket() [2/2]

template<class Rep , class Period >
void ts::FluteDemux::feedPacket ( const cn::duration< Rep, Period > &  timestamp,
const IPSocketAddress source,
const IPSocketAddress destination,
const uint8_t *  udp,
size_t  udp_size 
)
inline

The following method feeds the demux with a UDP packet.

Parameters
[in]timestampPacket time stamp value. This value should be taken from a monotonic clock.
[in]sourceSource socket address.
[in]destinationDestination socket address.
[in]udpAddress of UDP payload.
[in]udp_sizeSize in bytes of UDP payload.

◆ getFilesStatus()

void ts::FluteDemux::getFilesStatus ( )

Get the current status of all file transfers.

The current handler is invoked on method handleFluteStatus() for each file, either completely or partially transfered.


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