--- src/dump-mplayer.c.orig 2025-02-11 02:24:37.000000000 +0100 +++ src/dump-mplayer.c 2025-02-13 14:51:54.265175231 +0100 @@ -33,7 +33,7 @@ { int i; - fprintf(f, "%s:", s->service_name); + fprintf(f, "LCN.%.4d-%s:", s->logical_channel_number, s->service_name); xine_dump_dvb_parameters(f, t, flags); fprintf(f, ":%i", s->pmt_pid); if (s->video_pid) { --- src/dump-vdr.c.orig 2025-02-11 02:24:37.000000000 +0100 +++ src/dump-vdr.c 2025-02-13 14:51:52.929175151 +0100 @@ -555,7 +555,7 @@ if (!flags->ca_select && s->scrambled) return; - fprintf(f, "%s", s->service_name); + fprintf(f, "LCN.%.4d-%s", s->logical_channel_number, s->service_name); if (flags->dump_provider) fprintf(f, ";%s", s->provider_name); --- src/dump-xine.c.orig 2025-02-11 02:24:37.000000000 +0100 +++ src/dump-xine.c 2025-02-13 14:51:51.254175050 +0100 @@ -112,9 +112,9 @@ { if (s->video_pid || s->audio_pid[0]) { if (s->provider_name) - fprintf(f, "%s(%s):", s->service_name, s->provider_name); + fprintf(f, "LCN.%.4d-%s(%s):", s->logical_channel_number, s->service_name, s->provider_name); else - fprintf(f, "%s:", s->service_name); + fprintf(f, "LCN.%.4d-%s:", s->logical_channel_number, s->service_name); xine_dump_dvb_parameters(f, t, flags); fprintf(f, ":%i:%i:%i", s->video_pid, s->ac3_pid[0] ? s->ac3_pid[0] : s->audio_pid[0], s->service_id); /* what about AC3 audio here && multiple audio pids? see also: dump_mplayer.c/h */ --- src/dump-xml.c.orig 2025-02-11 02:24:37.000000000 +0100 +++ src/dump-xml.c 2025-02-13 14:51:49.284174932 +0100 @@ -684,7 +684,7 @@ s->service_id); indent++; - fprintf(dest, "%s\n", get_indent(indent), safe_xml(s->service_name, (char *)&buffer)); + fprintf(dest, "%s\n", get_indent(indent), s->logical_channel_number, safe_xml(s->service_name, (char *)&buffer)); fprintf( dest, "%s\n",