]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
service: rebuild shared PCR 'stream' on load, too
authorJaroslav Kysela <perex@perex.cz>
Mon, 20 Nov 2017 15:15:17 +0000 (16:15 +0100)
committerJaroslav Kysela <perex@perex.cz>
Mon, 20 Nov 2017 15:15:17 +0000 (16:15 +0100)
src/service.c

index 4551cc14ff1ea46b6f83afe9b937ebfc604487f0..99a87705ae6233ad810d5ebe295b9fdc07b1aff9 100644 (file)
@@ -2248,6 +2248,7 @@ void service_load ( service_t *t, htsmsg_t *c )
   elementary_stream_t *st;
   streaming_component_type_t type;
   const char *v;
+  int shared_pcr = 0;
 
   idnode_load(&t->s_id, c);
 
@@ -2287,6 +2288,9 @@ void service_load ( service_t *t, htsmsg_t *c )
       if(htsmsg_get_u32(c, "pid", &pid))
         continue;
 
+      if(pid > 0 && t->s_pcr_pid > 0 && pid == t->s_pcr_pid)
+        shared_pcr = 1;
+
       st = service_stream_create(t, pid, type);
 
       if((v = htsmsg_get_str(c, "language")) != NULL)
@@ -2330,6 +2334,8 @@ void service_load ( service_t *t, htsmsg_t *c )
       }
     }
   }
+  if (!shared_pcr)
+    service_stream_create(t, t->s_pcr_pid, SCT_PCR);
   sort_elementary_streams(t);
   pthread_mutex_unlock(&t->s_stream_mutex);
 }