在RM文件的元数据单元包括一个标签、一个描述媒体文件元数据属性的集合等信息。
元数据单元的头(Metadata Section Header)
标识元数据单元的开始。一个RM文件中由一个元数据单元。预计是在文件的最后。
MetadataSectionHeader
{
u_int32 object_id;
u_int32 size;
}
object_id:元数据单元头的唯一标识符(RMMD)
size: 整个元数据的字节数。
元数据标签(Metadata Tag)
RM文件的元数据标签包含了一系列的属性。
MetadataTag
{
u_int32 object_id;
u_int32 object_version;
u_int8[] properties;
}
object_id: 元数据标签的唯一标签(“RJMD”)
object_version: 元数据标签的版本号。
properties[ ]: 组成元数据标签的元数据属性。
元数据属性(Metadata Property Structure)
MetadataProperty
{
u_int32 size;
u_int32 type;
u_int32 flags;
u_int32 value_offset;
u_int32 subproperties_offset;
u_int32 num_subproperties;
u_int32 name_length;
u_int8[name_length] name;
u_int32 value_length;
u_int8[value_length] value;
PropListEntry[num_subproperties] subproperties_list;
MetadataProperty[num_subproperties] subproperties;
}
size: 元数据属性的字节数。
type: 数据值的类型。
flags: 描述属性。可以是只读(MPT_READONLY)、私有(MPT_PRIVATE)、描述符(MPT_TYPE_DESCRIPTOR)。

被折叠的 条评论
为什么被折叠?



