/*---------------------------------------------------------------------- | AP4_Expandable::Inspect +---------------------------------------------------------------------*/ AP4_Result AP4_Expandable::Inspect(AP4_AtomInspector& inspector) { char name[64]; AP4_FormatString(name, sizeof(name), "#:%02x", m_ClassId); inspector.StartDescriptor(name, GetHeaderSize(), GetSize()); inspector.EndDescriptor(); return AP4_SUCCESS; }
/*---------------------------------------------------------------------- | AP4_IpmpDescriptorPointer::Inspect +---------------------------------------------------------------------*/ AP4_Result AP4_IpmpDescriptorPointer::Inspect(AP4_AtomInspector& inspector) { inspector.StartDescriptor("IPMP_DescriptorPointer", GetHeaderSize(), GetSize()); inspector.AddField("IPMP_DescriptorID", m_DescriptorId); if (m_DescriptorId == 0xFF) { inspector.AddField("IPMP_DescriptorIDEx", m_DescriptorIdEx); inspector.AddField("IPMP_ES_ID", m_EsId); } inspector.EndDescriptor(); return AP4_SUCCESS; }
/*---------------------------------------------------------------------- | AP4_IpmpDescriptor::Inspect +---------------------------------------------------------------------*/ AP4_Result AP4_IpmpDescriptor::Inspect(AP4_AtomInspector& inspector) { inspector.StartDescriptor("IPMP_Descriptor", GetHeaderSize(), GetSize()); inspector.AddField("IPMP_DescriptorID", m_DescriptorId); inspector.AddField("IPMPS_Type", m_IpmpsType, AP4_AtomInspector::HINT_HEX); if (m_DescriptorId == 0xFF && m_IpmpsType == 0xFFFF) { inspector.AddField("IPMP_DescriptorIDEx", m_DescriptorIdEx); inspector.AddField("IPMP_ToolID", (const unsigned char*)(&m_ToolId[0]), 16, AP4_AtomInspector::HINT_HEX); inspector.AddField("controlPointCode", m_ControlPointCode); if (m_ControlPointCode > 0) { inspector.AddField("sequenceCode", m_SequenceCode); } } else if (m_IpmpsType == 0) { inspector.AddField("URL", m_Url.GetChars()); } else { inspector.AddField("data size", m_Data.GetDataSize()); } inspector.EndDescriptor(); return AP4_SUCCESS; }