上面两章分别介绍了RM文件格式的头单元和数据单元的具体信息。
这一章主要学习的RM的引导单元。
RM文件的引导单元主要由两个部分组成。
Index Chunk Header:描述引导单元的内容。这个是引导单元的头。
接着是一系列的引导标签。
引导单元的头。
Index_Chunk_Header
{
u_int32 object_id;
u_int32 size;
u_int16 object_version
;
if (object_version == 0)
{
u_int32 num_indices;
u_int16 stream_number;
u_int32 next_index_header;
}
}
object_id: index chunk header的唯一标识符。(“INDX”)
size: 引导单元的字节数。
object_version: 引导块头部对象的版本号。
num_indices: 在引导块中引导标签的数量。
stream_number:在引导块中引导标签所对应的流。
next_index_header: 从文件的开始到下一个引导的距离。
index Record
在RM文件中的引导单元中有一系列的index record对象。每个对象包含 了快速找到一个特定物理流流的
时间戳信息。
IndexRecord { UINT16 object_version; if (object_version == 0) { u_int32 timestamp; u_int32 offset; u_int32 packet_count_for_this_packet; } }object_version:引导对象的版本号。
timestamp: 时间戳。
offset: 从文件的开始到数据包被找到的距离。
packet_count_for_this_packet: 在引导的数据包中数据包的数量。