]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
tsdemux: pass pid to ts_recv_packet1()
authorJaroslav Kysela <perex@perex.cz>
Wed, 28 Mar 2018 09:26:31 +0000 (11:26 +0200)
committerJaroslav Kysela <perex@perex.cz>
Wed, 28 Mar 2018 09:26:31 +0000 (11:26 +0200)
src/input/mpegts/mpegts_input.c
src/input/mpegts/tsdemux.c
src/input/mpegts/tsdemux.h

index 56c6cbe467421f7a9a51bd17520d3402a7e14474..94924ad5d4ed27a5e60f9e244d1ff88bbdd02a91 100644 (file)
@@ -1442,7 +1442,7 @@ mpegts_input_process
           f = (type & (MPS_TABLE|MPS_FTABLE)) ||
               (pid == s->s_components.set_pmt_pid) ||
               (pid == s->s_components.set_pcr_pid);
-          ts_recv_packet1((mpegts_service_t*)s, tsb, llen, f);
+          ts_recv_packet1((mpegts_service_t*)s, pid, tsb, llen, f);
         }
       } else
       /* Stream table data */
@@ -1452,7 +1452,7 @@ mpegts_input_process
           f = (type & (MPS_TABLE|MPS_FTABLE)) ||
               (pid == s->s_components.set_pmt_pid) ||
               (pid == s->s_components.set_pcr_pid);
-          ts_recv_packet1((mpegts_service_t*)s, tsb, llen, f);
+          ts_recv_packet1((mpegts_service_t*)s, pid, tsb, llen, f);
         }
       }
 
index 38d26d04a3a1317a3ca688a227a13f90320fba79..bb2ac8e1555ec7ad2ee7a0e33bbb7d1aae0ec63b 100644 (file)
@@ -141,14 +141,13 @@ skip_cc:
 }
 
 /**
- * Process service stream packets, extract PCR and optionally descramble
+ * Process service stream packets, optionally descramble
  */
 int
 ts_recv_packet1
-  (mpegts_service_t *t, const uint8_t *tsb, int len, int table)
+  (mpegts_service_t *t, uint16_t pid, const uint8_t *tsb, int len, int table)
 {
   elementary_stream_t *st;
-  int_fast16_t pid;
   uint_fast8_t scrambled, error = 0;
   int r;
   
@@ -178,8 +177,6 @@ ts_recv_packet1
               service_nicename((service_t*)t), t->s_tei_log.count);
   }
 
-  pid = (tsb[1] & 0x1f) << 8 | tsb[2];
-
   st = elementary_stream_find(&t->s_components, pid);
 
   if((st == NULL) && (pid != t->s_components.set_pcr_pid) && !table) {
index f726013c34bbe8c34c564883a6ad7ddf232db231..2089f4b8d6a043756bedae1c235b2b3bb00dc0f7 100644 (file)
@@ -25,7 +25,7 @@ void ts_recv_packet0
   (struct mpegts_service *t, elementary_stream_t *st, const uint8_t *tsb, int len);
 
 int ts_recv_packet1
-  (struct mpegts_service *t, const uint8_t *tsb, int len, int table);
+  (struct mpegts_service *t, uint16_t pid, const uint8_t *tsb, int len, int table);
 
 void ts_recv_packet2(struct mpegts_service *t, const uint8_t *tsb, int len);