]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
rawtsinput: Handle stream delete
authorAndreas Öman <andreas@lonelycoder.com>
Tue, 23 Oct 2012 09:13:59 +0000 (09:13 +0000)
committerAndreas Öman <andreas@lonelycoder.com>
Thu, 25 Oct 2012 11:06:05 +0000 (13:06 +0200)
src/psi.c
src/rawtsinput.c

index dca98658951f66317ea78b7de30a82ab2471fd3c..9763a50a0318e7a6d384273c43a0aab5eaa78af1 100644 (file)
--- a/src/psi.c
+++ b/src/psi.c
@@ -468,6 +468,10 @@ psi_parse_pmt(service_t *t, const uint8_t *ptr, int len, int chksvcid,
   /* Mark all streams for deletion */
   if(delete) {
     TAILQ_FOREACH(st, &t->s_components, es_link) {
+
+      if(st->es_type == SCT_PMT)
+        continue;
+
       st->es_delete_me = 1;
 
       LIST_FOREACH(c, &st->es_caids, link)
index e22ac146b47b13a441a5e2510a2bd4a93abc0cac..a947de569148d4c2a0d05340c7d7a3d281ef1d1e 100644 (file)
@@ -164,7 +164,7 @@ got_pmt(struct service *t, elementary_stream_t *st,
     return;
 
   pthread_mutex_lock(&global_lock);
-  psi_parse_pmt(t, table + 3, table_len - 3, 1, 0);
+  psi_parse_pmt(t, table + 3, table_len - 3, 1, 1);
   pthread_mutex_unlock(&global_lock);
 }