![]() |
TSDuck v3.43-4480
MPEG Transport Stream Toolkit
|
A subclass of TSAnalyzer with reporting capabilities. More...
#include <tsTSAnalyzerReport.h>


Public Member Functions | |
| TSAnalyzerReport (DuckContext &duck, const BitRate &bitrate_hint=0, BitRateConfidence bitrate_confidence=BitRateConfidence::LOW) | |
| Default constructor. | |
| virtual | ~TSAnalyzerReport () override |
| Virtual destructor. | |
| void | feedPacket (const TSPacket &packet, const TSPacketMetadata &mdata) |
| The following method feeds the analyzer with a TS packet. | |
| void | getGlobalPIDs (std::vector< PID > &list) |
| Get the list of global PID's. | |
| void | getPIDs (std::vector< PID > &list) |
| Get the list of all PID's. | |
| void | getPIDsOfService (std::vector< PID > &list, uint16_t service_id) |
| Get the list of PID's for one service id. | |
| void | getPIDsWithPES (std::vector< PID > &list) |
| Get the list of PID's carrying PES packets. | |
| void | getServiceIds (std::vector< uint16_t > &list) |
| Get the list of service ids. | |
| void | getUnreferencedPIDs (std::vector< PID > &list) |
| Get the list of unreferenced PID's. | |
| void | report (std::ostream &strm, TSAnalyzerOptions &opt, Report &rep=(ts::NullReport::Instance())) |
| General reporting method, using the specified options. | |
| void | reportErrors (std::ostream &strm, const UString &title=UString()) |
| This methods displays an error report. | |
| void | reportJSON (TSAnalyzerOptions &opt, std::ostream &strm, const UString &title=UString(), Report &rep=(ts::NullReport::Instance())) |
| This methods displays a JSON report. | |
| void | reportNormalized (TSAnalyzerOptions &opt, std::ostream &strm, const UString &title=UString()) |
| This methods displays a normalized report. | |
| void | reportPIDs (Grid &grid, const UString &title=UString()) |
| Report formatted analysis about PID's. | |
| void | reportServices (Grid &grid, const UString &title=UString()) |
| Report formatted analysis about services. | |
| void | reportTables (Grid &grid, const UString &title=UString()) |
| Report formatted analysis about tables. | |
| UString | reportToString (TSAnalyzerOptions &opt, Report &rep=(ts::NullReport::Instance())) |
| General reporting method, using the specified options. | |
| void | reportTS (Grid &grid, const UString &title=UString()) |
| Report formatted analysis about the global transport stream. | |
| void | reset () |
| Reset the analysis context. | |
| void | setAnalysisOptions (const TSAnalyzerOptions &opt) |
| Set the analysis options. | |
| void | setBitrateHint (const BitRate &bitrate_hint=0, BitRateConfidence bitrate_confidence=BitRateConfidence::LOW) |
| Specify a "bitrate hint" for the analysis. | |
| void | setMaxConsecutiveSuspectCount (uint64_t count) |
| Set the maximum number of consecutive suspect packets. | |
| void | setMinErrorCountBeforeSuspect (uint64_t count) |
| Set the number of consecutive packet errors threshold. | |
Protected Types | |
| using | PIDContextMap = std::map< PID, PIDContextPtr > |
| Map of PIDContext, indexed by PID. | |
| using | PIDContextPtr = std::shared_ptr< PIDContext > |
| Safe pointer to a PIDContext (not thread-safe). | |
| using | ServiceContextMap = std::map< uint16_t, ServiceContextPtr > |
| Map of ServiceContext, indexed by service id. | |
| using | ServiceContextPtr = std::shared_ptr< ServiceContext > |
| Safe pointer to a ServiceContext (not thread-safe). | |
| using | ServiceIdSet = std::set< uint16_t > |
| Set of service ids. | |
| using | XTIDContextMap = std::map< XTID, XTIDContextPtr > |
| Map of XTIDContext, indexed by XTID. | |
| using | XTIDContextPtr = std::shared_ptr< XTIDContext > |
| Safe pointer to an XTIDContext (not thread-safe). | |
Protected Member Functions | |
| PIDContextPtr | getPID (PID pid, const UString &description=UNREFERENCED) |
| Get a PID context. | |
| ServiceContextPtr | getService (uint16_t service_id) |
| Get a service context. | |
| XTIDContextPtr | getXTID (const Section §ion) |
| Get an XTID context. | |
| bool | pidExists (PID pid) const |
| Check if a PID context exists. | |
| void | recomputeStatistics () |
| Update the global statistics value if internal data were modified. | |
Protected Attributes | |
| UString | _country_code {} |
| TOT country code. | |
| DuckContext & | _duck |
| TSDuck execution context. | |
| cn::milliseconds | _duration {} |
| Total broadcast duration. | |
| Time | _first_local {} |
| First system local time (first packet). | |
| Time | _first_stt {} |
| First STT (ATCS) UTC time stamp. | |
| Time | _first_tdt {} |
| First TDT UTC time stamp. | |
| Time | _first_tot {} |
| First TOT local time stamp. | |
| Time | _first_utc {} |
| First system UTC time (first packet). | |
| BitRate | _global_bitrate = 0 |
| Bitrate for global PID's. | |
| ISDBTLayerCounter | _global_isdb_layers {} |
| Same as _isdb_layers for global PID's. | |
| size_t | _global_pid_cnt = 0 |
| Number of global PID's (ref but no service). | |
| uint64_t | _global_pkt_cnt = 0 |
| Number of packets in global PID's. | |
| size_t | _global_scr_pids = 0 |
| Number of scrambled global PID's. | |
| uint64_t | _invalid_sync = 0 |
| Number of packets with invalid sync byte (not 0x47). | |
| Time | _last_local {} |
| Last system local time (recomputeStatistics). | |
| Time | _last_stt {} |
| Last STT (ATCS) time stamp. | |
| Time | _last_tdt {} |
| Last TDT UTC time stamp. | |
| Time | _last_tot {} |
| Last TOT local time stamp. | |
| Time | _last_utc {} |
| Last system UTC time (recomputeStatistics). | |
| size_t | _pcr_pid_cnt = 0 |
| Number of PID's with PCR's. | |
| size_t | _pid_cnt = 0 |
| Number of PID's (with actual packets). | |
| PIDContextMap | _pids {} |
| Description of PIDs. | |
| BitRate | _psisi_bitrate = 0 |
| Bitrate for global PSI/SI PID's. | |
| size_t | _psisi_pid_cnt = 0 |
| Number of global PSI/SI PID's (0x00 to 0x1F). | |
| uint64_t | _psisi_pkt_cnt = 0 |
| Number of packets in global PSI/SI PID's. | |
| size_t | _psisi_scr_pids = 0 |
| Number of scrambled global PSI/SI PID's (normally zero). | |
| size_t | _scrambled_pid_cnt = 0 |
| Number of scrambled PID's. | |
| uint16_t | _scrambled_services_cnt = 0 |
| Number of scrambled services. | |
| ServiceContextMap | _services {} |
| Description of services, map key: service id. | |
| uint64_t | _suspect_ignored = 0 |
| Number of suspect packets, ignored. | |
| std::bitset< TID_MAX > | _tid_present {} |
| Array of detected tables. | |
| uint64_t | _transport_errors = 0 |
| Number of packets with transport error. | |
| BitRate | _ts_bitrate = 0 |
| TS bitrate (either from PCR or options). | |
| std::optional< uint16_t > | _ts_id {} |
| Transport stream id. | |
| ISDBTLayerCounter | _ts_isdb_layers {} |
| For ISDB-T streams with 204-byte packets, map key = layer indicator (0-1) to value = number of TS packets. | |
| BitRate | _ts_pcr_bitrate_188 = 0 |
| Average TS bitrate in b/s (eval from PCR). | |
| BitRate | _ts_pcr_bitrate_204 = 0 |
| Average TS bitrate in b/s (eval from PCR). | |
| uint64_t | _ts_pkt_cnt = 0 |
| Number of TS packets. | |
| BitRate | _ts_user_bitrate = 0 |
| User-specified TS bitrate (if any). | |
| BitRateConfidence | _ts_user_br_confidence = BitRateConfidence::LOW |
| Confidence in user-specified TS bitrate. | |
| BitRate | _unref_bitrate = 0 |
| Bitrate for unreferenced PID's. | |
| ISDBTLayerCounter | _unref_isdb_layers {} |
| Same as _isdb_layers for unreferenced PID's. | |
| size_t | _unref_pid_cnt = 0 |
| Number of unreferenced PID's. | |
| uint64_t | _unref_pkt_cnt = 0 |
| Number of packets in unreferenced PID's. | |
| size_t | _unref_scr_pids = 0 |
| Number of scrambled unreferenced PID's. | |
A subclass of TSAnalyzer with reporting capabilities.
|
explicit |
Default constructor.
| [in,out] | duck | TSDuck execution context. The reference is kept inside the analyzer. |
| [in] | bitrate_hint | Optional bitrate "hint" for the analysis. It is the user-specified bitrate in bits/seconds, based on 188-byte packets. The bitrate hint is optional: if specified as zero, the analysis is based on the PCR values. |
| [in] | bitrate_confidence | Confidence level in bitrate_hint. |
| void ts::TSAnalyzerReport::setAnalysisOptions | ( | const TSAnalyzerOptions & | opt | ) |
Set the analysis options.
Must be set before feeding the first packet.
| [in] | opt | Analysis options. |
| void ts::TSAnalyzerReport::report | ( | std::ostream & | strm, |
| TSAnalyzerOptions & | opt, | ||
| Report & | rep = (ts::NullReport::Instance()) |
||
| ) |
General reporting method, using the specified options.
| [in,out] | strm | Output text stream. |
| [in,out] | opt | Analysis options. |
| [in,out] | rep | Where to report errors. |
| UString ts::TSAnalyzerReport::reportToString | ( | TSAnalyzerOptions & | opt, |
| Report & | rep = (ts::NullReport::Instance()) |
||
| ) |
General reporting method, using the specified options.
| [in,out] | opt | Analysis options. |
| [in,out] | rep | Where to report errors. |
Report formatted analysis about the global transport stream.
| [in,out] | grid | Output stream in a grid. |
| [in] | title | Title string to display. |
Report formatted analysis about services.
| [in,out] | grid | Output stream in a grid. |
| [in] | title | Title string to display. |
Report formatted analysis about PID's.
| [in,out] | grid | Output stream in a grid. |
| [in] | title | Title string to display. |
Report formatted analysis about tables.
| [in,out] | grid | Output stream in a grid. |
| [in] | title | Title string to display. |
This methods displays an error report.
| [in,out] | strm | Output text stream. |
| [in] | title | Title string to display. |
| void ts::TSAnalyzerReport::reportNormalized | ( | TSAnalyzerOptions & | opt, |
| std::ostream & | strm, | ||
| const UString & | title = UString() |
||
| ) |
This methods displays a normalized report.
| [in,out] | opt | Analysis options. |
| [in,out] | strm | Output text stream. |
| [in] | title | Title string to display. |
| void ts::TSAnalyzerReport::reportJSON | ( | TSAnalyzerOptions & | opt, |
| std::ostream & | strm, | ||
| const UString & | title = UString(), |
||
| Report & | rep = (ts::NullReport::Instance()) |
||
| ) |
This methods displays a JSON report.
| [in,out] | opt | Analysis options. |
| [in,out] | strm | Output text stream. |
| [in] | title | Title string. |
| [in,out] | rep | Where to report errors. |
|
inherited |
The following method feeds the analyzer with a TS packet.
The stream is analyzed by repeatedly calling feedPacket().
| [in] | packet | One TS packet from the stream. |
| [in] | mdata | Associated metadata. |
|
inherited |
Specify a "bitrate hint" for the analysis.
| [in] | bitrate_hint | Optional bitrate "hint" for the analysis. It is the user-specified bitrate in bits/seconds, based on 188-byte packets. The bitrate hint is optional: if specified as zero, the analysis is based on the PCR values. |
| [in] | bitrate_confidence | Confidence level in bitrate_hint. |
|
inlineinherited |
Set the number of consecutive packet errors threshold.
| [in] | count | The number of consecutive packet errors after which a packet is considered as suspect if it does not belong to a previously known PID. If set to zero, suspect packet detection is disabled. Initially set to the default value 1. |
|
inlineinherited |
Set the maximum number of consecutive suspect packets.
| [in] | count | When that number of consecutive suspect packets is reached, the next packet will not be considered for suspect detection. Initially set to the default value 1. |
|
inherited |
Get the list of service ids.
| [out] | list | The returned list of service ids. |
|
inherited |
Get the list of all PID's.
| [out] | list | The returned list of all PID's. |
|
inherited |
Get the list of global PID's.
Global PID's are PID's which do not belong to a service.
| [out] | list | The returned list of global PID's. |
|
inherited |
Get the list of unreferenced PID's.
| [out] | list | The returned list of unreferenced PID's. |
|
inherited |
Get the list of PID's for one service id.
| [out] | list | The returned list of PID's. |
| [in] | service_id | The service id. |
|
inherited |
Get the list of PID's carrying PES packets.
| [out] | list | The returned list of PID's carrying PES packets. |
|
protectedinherited |
Get a service context.
Allocate a new entry if service is not found.
| [in] | service_id | Service to search. |
|
protectedinherited |
|
inlineprotectedinherited |
Check if a PID context exists.
| [in] | pid | PID to search. |
|
protectedinherited |
Get a PID context.
Allocate a new entry if PID not found.
| [in] | pid | PID to search. |
| [in] | description | Initial description of the PID if the context is created. |