Browse Source

mptsd can remux when pmt table changed

wing_pn 3 years ago
parent
commit
aa1338083a
1 changed files with 5 additions and 3 deletions
  1. 5 3
      input.c

+ 5 - 3
input.c View File

@@ -185,7 +185,7 @@ int process_pat(INPUT *r, uint16_t pid, uint8_t *ts_packet) {
185 185
 	
186 186
 	if (s->last_pat->initialized) {
187 187
 		if (!ts_pat_is_same(s->pat, s->last_pat)) {
188
-			proxy_log(r, "PAT changed.");
188
+			proxy_log(r, "========================PAT changed.========================");
189 189
 			return -1; // Reconnect
190 190
 		}
191 191
 		ts_pat_free(&s->last_pat);
@@ -243,16 +243,18 @@ int process_pmt(INPUT *r, uint16_t pid, uint8_t *ts_packet) {
243 243
 
244 244
 	s->pmt = ts_pmt_push_packet(s->pmt, ts_packet);
245 245
 
246
-	s->last_pmt = ts_pmt_push_packet(s->last_pmt, ts_packet);
246
+	
247 247
 	if (s->last_pmt->initialized) {
248 248
 		if (!ts_pmt_is_same(s->pmt, s->last_pmt)) {
249
-			proxy_log(r, "PMT changed.");
249
+			proxy_log(r, "========================PMT changed.========================");
250 250
 			return -2; // Reconnect
251 251
 		}
252 252
 		ts_pmt_free(&s->last_pmt);
253 253
 		s->last_pmt = ts_pmt_alloc();
254 254
 	}
255 255
 
256
+    s->last_pmt = ts_pmt_push_packet(s->last_pmt, ts_packet);
257
+
256 258
 	if (s->pmt->initialized) {
257 259
 		if (!s->pmt_rewritten || !s->pmt_rewritten->initialized) {
258 260
 			input_rewrite_pmt(r);