/*---------------------------------------------------------------------- | AP4_IpmpDescriptor::Inspect +---------------------------------------------------------------------*/ AP4_Result AP4_IpmpDescriptor::Inspect(AP4_AtomInspector& inspector) { char info[64]; AP4_FormatString(info, sizeof(info), "size=%ld+%ld", GetHeaderSize(),m_PayloadSize); inspector.StartElement("[IPMP_Descriptor]", info); 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.EndElement(); return AP4_SUCCESS; }
/*---------------------------------------------------------------------- | AP4_Expandable::Inspect +---------------------------------------------------------------------*/ AP4_Result AP4_Expandable::Inspect(AP4_AtomInspector& inspector) { char name[6]; AP4_FormatString(name, sizeof(name), "[#:%02x]", m_ClassId); char info[64]; AP4_FormatString(info, sizeof(info), "size=%ld+%ld", GetHeaderSize(), m_PayloadSize); inspector.StartElement(name, info); inspector.EndElement(); return AP4_SUCCESS; }
/*---------------------------------------------------------------------- | AP4_IpmpDescriptorPointer::Inspect +---------------------------------------------------------------------*/ AP4_Result AP4_IpmpDescriptorPointer::Inspect(AP4_AtomInspector& inspector) { char info[64]; AP4_FormatString(info, sizeof(info), "size=%ld+%ld", GetHeaderSize(),m_PayloadSize); inspector.StartElement("[IPMP_DescriptorPointer]", info); inspector.AddField("IPMP_DescriptorID", m_DescriptorId); if (m_DescriptorId == 0xFF) { inspector.AddField("IPMP_DescriptorIDEx", m_DescriptorIdEx); inspector.AddField("IPMP_ES_ID", m_EsId); } inspector.EndElement(); return AP4_SUCCESS; }