diff src/tssplitter_lite.c @ 143:e72dd5e8d53f

Number of samples per ADTS packet instead of 1000 and 1024.
author Naoya OYAMA <naoya.oyama@gmail.com>
date Sun, 29 Jul 2012 23:16:30 +0900
parents 9c7bc6c0327e
children 066f33b2213a
line wrap: on
line diff
--- a/src/tssplitter_lite.c	Sun Jul 29 22:56:53 2012 +0900
+++ b/src/tssplitter_lite.c	Sun Jul 29 23:16:30 2012 +0900
@@ -3,7 +3,7 @@
 /* tssplitter_lite.c -- split TS stream.
 
    Copyright 2009 querulous
-   Copyright 2010 Naoya OYAMA <naoya.oyama@gmail.com>
+   Copyright 2010-2012 Naoya OYAMA <naoya.oyama@gmail.com>
 
    This program is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
@@ -1600,8 +1600,8 @@
 			 * オーディオをファイル出力し始める条件(1. 2. を満たすこと)
 			 * 1. 動画の蓄積は開始されている
 			 * 2. 動画のGOPの1番目のIピクチャのPTSとオーディオのPTSを比較して以下のどちらかを満たすこと
-			 *    2.1. 差分が11msec以内(1000*90k/AACのサンプリング周波数)
-			 *         1000 : ADTSデータの1フレームのサンプル数
+			 *    2.1. 差分が11msec以内(1024*90k/AACのサンプリング周波数)
+			 *         1024 : ADTSデータの1フレームのサンプル数
 			 *         90k  : PTSの周波数
 			 *    2.2. 過ぎている(過ぎている場合はオーディオESの蓄積の継続と次のGOP狙いにする?)
 			 *    #動画よりオーディオ側の方が先にESバッファの蓄積を始めるハズなので気にすること無いかなぁ…
@@ -1621,7 +1621,7 @@
 					audio_lipsync_offset = 0;
 					audio_pts = esbuf->pts;
 					adts_freq = AnalyzeAdifHeader(esbuf);
-					adts_frame_time = (int64_t)((float)1000*90000/adts_freq); /* PTSは90KHz */
+					adts_frame_time = (int64_t)((float)1024*90000/adts_freq); /* PTSは90KHz */
 					/* オーディオをフレーム単位で捨ててPTSを進める */
 					while ( (esbuf->Program->video_pts > audio_pts +adts_frame_time/2) ) {
 						/* オーディオデータを捨てると audio_pts は1フレーム分大きくなる */