aboutsummaryrefslogtreecommitdiffstats
path: root/util/scan/scan.c
diff options
context:
space:
mode:
authoretobi <git@e-tobi.net>2013-09-03 09:48:45 +0200
committeretobi <git@e-tobi.net>2013-09-03 09:48:45 +0200
commit9fe4d4ea9c054e539ab679ed2e9c076c35beb69d (patch)
treeaffff927f15c8ae6c77890cc9564855efe2e51db /util/scan/scan.c
parent9a5228e0f2b898367b7943d294be58caf6ce8bb3 (diff)
downloadlinux-dvb-apps-9fe4d4ea9c054e539ab679ed2e9c076c35beb69d.tar.gz
Imported Upstream version 1.1.1+rev1355upstream/1.1.1+rev1355
Diffstat (limited to 'util/scan/scan.c')
-rw-r--r--util/scan/scan.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/util/scan/scan.c b/util/scan/scan.c
index 1b7a3e5..3058bdb 100644
--- a/util/scan/scan.c
+++ b/util/scan/scan.c
@@ -236,6 +236,17 @@ static struct transponder *find_transponder(uint32_t frequency)
static void copy_transponder(struct transponder *d, struct transponder *s)
{
+ struct list_head *pos;
+ struct service *service;
+
+ if (d->transport_stream_id != s->transport_stream_id) {
+ /* propagate change to any already allocated services */
+ list_for_each(pos, &d->services) {
+ service = list_entry(pos, struct service, list);
+ service->transport_stream_id = s->transport_stream_id;
+ }
+ }
+
d->network_id = s->network_id;
d->original_network_id = s->original_network_id;
d->transport_stream_id = s->transport_stream_id;