diff recpt1/tssplitter_lite.c @ 101:3f7288b0672c

fix calculation for continuity counter
author Yoshiki Yazawa <yaz@honeyplanet.jp>
date Sun, 14 Feb 2010 22:12:10 +0900
parents aeba1988234f
children afd25d9ebef6
line wrap: on
line diff
--- a/recpt1/tssplitter_lite.c	Sat Feb 13 19:43:25 2010 +0900
+++ b/recpt1/tssplitter_lite.c	Sun Feb 14 22:12:10 2010 +0900
@@ -212,8 +212,8 @@
 	char** sid_list,					// [in]		出力対象サービス ID のリスト
 	unsigned char* pmt_pids,			// [in]		出力対象PIDのPMT PID
 	,			// [in]		pt1_drvの入力TS
-	int* pmt_retain,						// [in]		PMTの落とすべき数
-	int* pmt_counter					// [out]	PMTの落とした数
+	int* pmt_retain,						// [in]		残すべきPMTの数
+	int* pmt_counter					// [out]	残したPMTの数
 #endif
 
 	int length = sbuf->size;
@@ -292,7 +292,10 @@
 				splitter->pat_count = splitter->pat[3];
 			}
 			else {
-				splitter->pat_count = (splitter->pat_count + 1) % 16;
+				splitter->pat_count += 1;
+				if(0 == splitter->pat_count % 0x10) {
+					splitter->pat_count -= 0x10;
+				}
 			}
 			splitter->pat[3] = splitter->pat_count;