August'24: Kamaelia is in maintenance mode and will recieve periodic updates, about twice a year, primarily targeted around Python 3 and ecosystem compatibility. PRs are always welcome. Latest Release: 1.14.32 (2024/3/24)
A selection of components for creating human readable strings of the output of the various components in Kamaelia.Device.DVB.Parse that parse data tables in DVB MPEG Transport Streams.
Pretty printing of a Program Association Table (PAT):
FREQUENCY = 505.833330
feparams = {
"inversion" : dvb3.frontend.INVERSION_AUTO,
"constellation" : dvb3.frontend.QAM_16,
"code_rate_HP" : dvb3.frontend.FEC_3_4,
"code_rate_LP" : dvb3.frontend.FEC_3_4,
}
PAT_PID = 0x0
Pipeline( DVB_Multiplex(FREQUENCY, [PAT_PID], feparams),
DVB_Demuxer({ PAT_PID:["outbox"]}),
ReassemblePSITables(),
ParseProgramAssociationTable(),
PrettifyProgramAssociationTable(),
ConsoleEchoer(),
).run()
Example output:
PAT received:
Table ID : 0
Table is valid for : CURRENT (valid)
NIT is in PID : 16
For transport stream id : 4100
For service 4228 : PMT is in PID 4228
For service 4351 : PMT is in PID 4351
For service 4479 : PMT is in PID 4479
For service 4164 : PMT is in PID 4164
For service 4415 : PMT is in PID 4415
For service 4671 : PMT is in PID 4671
This data came from an instantaneous snapshot of the PAT for Crystal Palace MUX 1 transmission (505.8MHz) in the UK on 20th Dec 2006.
The components available are:
PrettifyProgramAssociationTable
PrettifyNetworkInformationTable
PrettifyProgramMapTable
PrettifyServiceDescriptionTable
PrettifyEventInformationTable
PrettifyTimeAndDateTable
PrettifyTimeOffsetTable
Send to the "inbox" inbox of any of these components the relevant parsed table, and a string will be sent out the "outbox" outbox containing a 'prettified' human readable equivalent of the table data.
If a shutdownMicroprocess or producerFinished message is received on the "control" inbox, then it will immediately be sent on out of the "signal" outbox and the component will then immediately terminate.
PrettifyEventInformationTable() -> new PrettifyEventInformationTable component.
Send parsed event information tables to the "inbox" inbox and a human readable string version will be sent out the "outbox" outbox.
Warning!
You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.
PrettifyNetworkInformationTable() -> new PrettifyNetworkInformationTable component.
Send parsed network information tables to the "inbox" inbox and a human readable string version will be sent out the "outbox" outbox.
Warning!
You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.
PrettifyProgramAssociationTable() -> new PrettifyProgramAssociationTable component.
Send parsed program association tables to the "inbox" inbox and a human readable string version will be sent out the "outbox" outbox.
Warning!
You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.
PrettifyProgramMapTable() -> new PrettifyProgramMapTable component.
Send parsed program map tables to the "inbox" inbox and a human readable string version will be sent out the "outbox" outbox.
Warning!
You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.
PrettifyServiceDescriptionTable() -> new PrettifyServiceDescriptionTable component.
Send parsed service description tables to the "inbox" inbox and a human readable string version will be sent out the "outbox" outbox.
Warning!
You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.
PrettifyTimeAndDateTable() -> new PrettifyTimeAndDateTable component.
Send parsed time and date tables to the "inbox" inbox and a human readable string version will be sent out the "outbox" outbox.
Warning!
You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.
PrettifyTimeOffsetTable() -> new PrettifyTimeOffsetTable component.
Send parsed time offset tables to the "inbox" inbox and a human readable string version will be sent out the "outbox" outbox.
Warning!
You should be using the inbox/outbox interface, not these methods (except construction). This documentation is designed as a roadmap as to their functionalilty for maintainers and new component developers.
Got a problem with the documentation? Something unclear that could be clearer? Want to help improve it? Constructive criticism is very welcome - especially if you can suggest a better rewording!
Please leave you feedback here in reply to the documentation thread in the Kamaelia blog.
-- Automatic documentation generator, 05 Jun 2009 at 03:01:38 UTC/GMT