void MPEG2TransportStreamTrickModeFilter::doGetNextFrame()
{
if (!fIndexFile->readIndexRecordValues(fNextIndexRecordNum, //从IndexFile中读一个buf,从中解析各数据
fDesiredTSPacketNum, fDesiredDataOffset,
fDesiredDataSize, recordPCR,
recordType))
{
}
}
buf中读取一个结构,共11个字节
第一个字节: record type
第二个字节:offset
第三个字节:size
第4.5.6.7个字节:pcr 4.5.6是pcr,7是pcr扩展
第8,9,10,11个字节:tsPacketNum 在总文件中的ts包的index
enum RecordType {
RECORD_UNPARSED = 0,
RECORD_VSH = 1, // a MPEG Video Sequence Header
RECORD_GOP = 2,
RECORD_PIC_NON_IFRAME = 3, // includes slices
RECORD_PIC_IFRAME = 4, // includes slices
RECORD_NAL_SPS = 5, // H.264
RECORD_NAL_PPS = 6, // H.264
RECORD_NAL_SEI = 7, // H.264
RECORD_NAL_NON_IFRAME = 8, // H.264
RECORD_NAL_IFRAME = 9, // H.264
RECORD_NAL_OTHER = 10, // H.264
RECORD_JUNK
};
tsx文件中包含所有的片的信息,
应该是包含最后一个不完整的包