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)
Components for filtering and processing parsed Programme Status Information (PSI) tables - that is the output from components in Kamaelia.Device.DVB.Parse
FilterOutNotCurrent takes in parsed DVB PSI tables, but only outputs the ones that are marked as being currently-valid. Tables that are not yet valid are simply dropped.
NOTE: whether a table is currently-valid or not is different from concepts such as present-following (now & next) used for event/programme information. See DVB specification documents for a more detailed explanation.
Tuning to a particular broadcast multiplex and displaying the current selection of services (channels) in the multiplex (as opposed to any future descriptions of services that may be appearing later):
frequency = 505833330.0/1000000.0
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=0
Pipeline( DVB_Multiplex([PAT_PID], feparams),
DVB_Demuxer({ PAT_PID:["outbox"]}),
ReassemblePSITables(),
ParseProgramAssociationTable(),
FilterOutNotCurrent(),
PrettifyProgramAssociationTable(),
ConsoleEchoer(),
).run()
Send parsed DVB PSI tables to this component's "inbox" inbox. If the table is a currently-valid one it will immediately be sent on out of the "outbox" outbox.
Tables that are not-yet-valid will be ignored.
If a shutdownMicroprocess or producerFinished message is received on this component's "control" inbox, it will be immediately sent on out of the "signal" outbox and the component will terminate.
The parsed tables you send to this component are dictionaries. This component simply checks the value of the 'current' key in the dictionary.
Filters out any parsed tables not labelled as currently valid
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