Processing Parsed DVB PSI TablesComponents for filtering and processing parsed Programme Status Information (PSI) tables - that is the output from components in Kamaelia.Device.DVB.Parse Selecting 'currently' valid tablesFilterOutNotCurrent 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. Example UsageTuning 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() BehaviourSend 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. How does it work?The parsed tables you send to this component are dictionaries. This component simply checks the value of the 'current' key in the dictionary. Kamaelia.Device.DVB.PSITables.FilterOutNotCurrentclass FilterOutNotCurrent(Axon.Component.component)Filters out any parsed tables not labelled as currently valid Methods defined hereWarning! 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. FeedbackGot 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 |
Kamaelia
is an open source project originated from and guided by BBC
Research. For more information browse the site or get in
contact.
This is an ongoing community based development site. As a result the contents of this page is the opinions of the contributors of the pages involved not the organisations involved. Specificially, this page may contain personal views which are not the views of the BBC. (the site is powered by a wiki engine)
(C) Copyright 2008 Kamaelia Contributors, including the British Broadcasting Corporation, All Rights Reserved.