XMLTV troubleshooting

Why two XMLTV channels can share the wrong schedule

Separate two stations that share an XMLTV ID and reconcile both programme rows and playlist references before refreshing the guide.

When two different stations inherit the same grid

If Community TV East and Community TV West both carry the east schedule, inspect their IDs. A merged guide might define both channels as community.example. A programme row that points to community.example then has no way to say which of the two stations it belongs to. Some players merge or overwrite a duplicate, so the displayed result can differ across apps.

Use an exact ID per distinct station or regional feed. The readable name can remain the same where needed. Distinct IDs give the importing player a stable way to distinguish the entries.

RecordAmbiguous keyCorrected key in this example
East channel definitioncommunity.examplecommunity-east.example
West channel definitioncommunity.examplecommunity-west.example
East programme channelcommunity.examplecommunity-east.example
West programme channelcommunity.examplecommunity-west.example

A corrected definition needs matching rows

Renaming only one channel definition can make its schedule disappear. The programme channel attributes still point to the old ID. Correct all three uses together in the data you control. That includes the playlist reference or explicit player mapping. If you received the guide from a provider, ask the publisher to fix the association at its source.

If you merge several authorized feeds, create a source-specific map before combining the rows. Confirm which station each programme came from. Simply replacing every occurrence of a duplicate key with a new one preserves the same ambiguity. Programme duplicates within one correct station are a different problem and can be checked after the station keys are distinct.

Test each regional feed with a known event

  1. Copy a small redacted example of the conflicting station definitions and one programme from each original source.
  2. Assign or request distinct identifiers and update the corresponding programme and playlist references.
  3. Import the corrected feed and verify one local programme on each station. Choose time slots where the east and west schedules clearly differ.
  4. Reopen the app and verify another pair of programme rows. Remove the old duplicate data from the test configuration through the app’s documented refresh route.

Sources and further reading