Hello,
Another topic for discussion.
What steps should a device take to best manage the most relevant list of services?
Paraphrasing from Sebastian's steps in another posting, here is a simplified view of how a device could behave:
1) The device scans through all FM frequencies, DAB ensembles, other broadcast systems to get a list of available stations
2) For each station, do the following:
i) Perform RadioDNS Lookup for the RadioEPG XSI
ii) Store the station against the resolved XSI URL
3) For each unique XSI URL in the list, acquire and parse each document
This gives the device a master list of services. This includes broadcast services - to be compared against those discovered during the initial scan in step 1. Also, additional IP services can be found, allowing service following for the broadcast services, as well as adding to the services list (for IP-only stations or out-of-area broadcast services).
The band scanning should be repeated periodically, to capture any variations due to transmission strength or location. Additionally, a device *could* trigger a band scan repeat based on a known location change (more important in the case of in-car devices, for example), or a message is received such as a DAB ensemble change.
On subsequent repeats, we'd get a list of XSIs, as before. Since we're working with HTTP we'd use standard HTTP caching techniques to do a check whether the XSI has changed (Last-Modified/If-Modified-Since HTTP request headers). If it hasn't changed we dont reacquire and ingest the XSI.
As mentioned, the above is most effective on devices with multiple tuners. However, even on single tuner devices the process can be performed, albeit more gradually as the user scans through the band. The device would gradually build up a more complete list of services.
I'll follow this up with a diagram, but I'd like any thoughts on the above, especially from those more familiar with devices.
Ben