Interface: - type (string like caps) channels/x-mpegts-pat - GstStructure to describe the what the list is, name, where from etc. (how many entries you can select, if multiple tried, first one picked) - method to list entries (channels) - method to get current entries - method to set list of entries - each entry contains an id (32 bit int say), GstStructure (with additional stuff) signals to say when entry list changes to say when current entry changes So for a transport stream, this interface would be exported and it could contain a list of interfaces...eg it would export PAT, and PAT list would contain interfaces in the GstStructure for the PMT. dvbsrc -> list of frequencies flutsdemux -> list of programs (PAT) and list of PMT streams per program get list of frequencies, select frequency get list of programs, select programs get list of streams, select streams only give program details in PAT list, when we have seen the PMT for that program. possibly another interface to select multiple list interfaces from an element. (interface selector interface) -- other option is to tag