📄 odf_dump.c
字号:
break; case QoSPrefMaxDelayTag: StartSubElement(trace, "QoSPrefMaxDelay", indent, XMTDump); DumpInt(trace, "value", ((GF_QoS_PrefMaxDelay *)p)->PrefMaxDelay, indent, XMTDump); EndSubElement(trace, indent, XMTDump); break; case QoSLossProbTag: StartSubElement(trace, "QoSLossProb", indent, XMTDump); DumpFloat(trace, "value", ((GF_QoS_LossProb *)p)->LossProb, indent, XMTDump); EndSubElement(trace, indent, XMTDump); break; case QoSMaxGapLossTag: StartSubElement(trace, "QoSMaxGapLoss", indent, XMTDump); DumpInt(trace, "value", ((GF_QoS_MaxGapLoss *)p)->MaxGapLoss, indent, XMTDump); EndSubElement(trace, indent, XMTDump); break; case QoSMaxAUSizeTag: StartSubElement(trace, "QoSMaxAUSize", indent, XMTDump); DumpInt(trace, "value", ((GF_QoS_MaxAUSize *)p)->MaxAUSize, indent, XMTDump); EndSubElement(trace, indent, XMTDump); break; case QoSAvgAUSizeTag: StartSubElement(trace, "QoSAvgAUSize", indent, XMTDump); DumpInt(trace, "value", ((GF_QoS_AvgAUSize *)p)->AvgAUSize, indent, XMTDump); EndSubElement(trace, indent, XMTDump); break; case QoSMaxAURateTag: StartSubElement(trace, "QoSMaxAURate", indent, XMTDump); DumpInt(trace, "value", ((GF_QoS_MaxAURate *)p)->MaxAURate, indent, XMTDump); EndSubElement(trace, indent, XMTDump); break; default: StartSubElement(trace, "QoSCustom", indent, XMTDump); DumpInt(trace, "tag", p->tag, indent, XMTDump); DumpData(trace, "customData", ((GF_QoS_Private *)p)->Data, ((GF_QoS_Private *)p)->DataLength, indent, XMTDump); EndSubElement(trace, indent, XMTDump); break; } } } indent--; EndDescDump(trace, "QoS_Descriptor", indent, XMTDump); return GF_OK;}GF_Err gf_odf_dump_rating(GF_Rating *rd, FILE *trace, u32 indent, Bool XMTDump){ StartDescDump(trace, "RatingDescriptor", indent, XMTDump); indent++; DumpInt(trace, "ratingEntity", rd->ratingEntity, indent, XMTDump); DumpInt(trace, "ratingCriteria", rd->ratingCriteria, indent, XMTDump); DumpData(trace, "ratingInfo", rd->ratingInfo, rd->infoLength, indent, XMTDump); indent--; EndSubElement(trace, indent, XMTDump); return GF_OK;}GF_Err gf_odf_dump_reg(GF_Registration *reg, FILE *trace, u32 indent, Bool XMTDump){ StartDescDump(trace, "RegistrationDescriptor", indent, XMTDump); indent++; DumpInt(trace, "formatIdentifier", reg->formatIdentifier, indent, XMTDump); DumpData(trace, "additionalIdentificationInfo", reg->additionalIdentificationInfo, reg->dataLength, indent, XMTDump); indent--; EndSubElement(trace, indent, XMTDump); return GF_OK;}GF_Err gf_odf_dump_short_text(GF_ShortTextual *std, FILE *trace, u32 indent, Bool XMTDump){ StartDescDump(trace, "ShortTextualDescriptor", indent, XMTDump); indent++; DumpInt(trace, "languageCode", std->langCode, indent, XMTDump); DumpBool(trace, "isUTF8", std->isUTF8, indent, XMTDump); EndAttributes(trace, indent, XMTDump); StartSubElement(trace, "event", indent, XMTDump); DumpString(trace, "name", std->eventName, indent, XMTDump); DumpString(trace, "text", std->eventText, indent, XMTDump); EndSubElement(trace, indent, XMTDump); indent--; EndDescDump(trace, "ShortTextualDescriptor", indent, XMTDump); return GF_OK;}GF_Err gf_odf_dump_smpte_camera(GF_SMPTECamera *cpd, FILE *trace, u32 indent, Bool XMTDump){ GF_SmpteParam *p; u32 i; StartDescDump(trace, "SMPTECameraPositionDescriptor", indent, XMTDump); indent++; DumpInt(trace, "cameraID", cpd->cameraID, indent, XMTDump); EndAttributes(trace, indent, XMTDump); i=0; while ((p = (GF_SmpteParam *)gf_list_enum(cpd->ParamList, &i))) { StartSubElement(trace, "parameter", indent, XMTDump); DumpInt(trace, "id", p->paramID, indent, XMTDump); DumpInt(trace, "value", p->param, indent, XMTDump); EndSubElement(trace, indent, XMTDump); } indent--; EndDescDump(trace, "SMPTECameraPositionDescriptor", indent, XMTDump); return GF_OK;}GF_Err gf_odf_dump_sup_cid(GF_SCIDesc *scid, FILE *trace, u32 indent, Bool XMTDump){ StartDescDump(trace, "SupplementaryContentIdentification", indent, XMTDump); indent++; DumpInt(trace, "languageCode", scid->languageCode, indent, XMTDump); DumpString(trace, "supplContentIdentiferTitle", scid->supplContentIdentifierTitle, indent, XMTDump); DumpString(trace, "supplContentIdentiferValue", scid->supplContentIdentifierValue, indent, XMTDump); indent--; EndSubElement(trace, indent, XMTDump); return GF_OK;}GF_Err gf_odf_dump_segment(GF_Segment *sd, FILE *trace, u32 indent, Bool XMTDump){ StartDescDump(trace, "SegmentDescriptor", indent, XMTDump); indent++; DumpDouble(trace, "startTime", sd->startTime, indent, XMTDump); DumpDouble(trace, "duration", sd->Duration, indent, XMTDump); DumpString(trace, "name", sd->SegmentName, indent, XMTDump); indent--; if (XMTDump) EndSubElement(trace, indent, XMTDump); else EndDescDump(trace, "SegmentDescriptor", indent, XMTDump); return GF_OK;}GF_Err gf_odf_dump_mediatime(GF_MediaTime *mt, FILE *trace, u32 indent, Bool XMTDump){ StartDescDump(trace, "MediaTimeDescriptor", indent, XMTDump); indent++; DumpDouble(trace, "mediaTimestamp ", mt->mediaTimeStamp, indent, XMTDump); indent--; EndSubElement(trace, indent, XMTDump); return GF_OK;}GF_Err gf_odf_dump_muxinfo(GF_MuxInfo *mi, FILE *trace, u32 indent, Bool XMTDump){ if (!XMTDump) { StartDescDump(trace, "MuxInfo", indent, 0); indent++; if (mi->file_name) DumpString(trace, "fileName", mi->file_name, indent, 0); if (mi->streamFormat) DumpString(trace, "streamFormat", mi->streamFormat, indent, 0); if (mi->GroupID) DumpInt(trace, "GroupID", mi->GroupID, indent, 0); if (mi->startTime) DumpInt(trace, "startTime", mi->startTime, indent, 0); if (mi->duration) DumpInt(trace, "duration", mi->duration, indent, 0);#if 0 if (mi->import_flags & GF_IMPORT_USE_DATAREF) DumpBool(trace, "useDataReference", 1, indent, 0); if (mi->import_flags & GF_IMPORT_NO_FRAME_DROP) DumpBool(trace, "noFrameDrop", 1, indent, 0); if (mi->import_flags & GF_IMPORT_SBR_IMPLICIT) DumpString(trace, "SBR_Type", "implicit", indent, 0); else if (mi->import_flags & GF_IMPORT_SBR_EXPLICIT) DumpString(trace, "SBR_Type", "explicit", indent, 0);#endif if (mi->textNode) DumpString(trace, "textNode", mi->textNode, indent, 0); if (mi->fontNode) DumpString(trace, "fontNode", mi->fontNode, indent, 0); indent--; EndDescDump(trace, "MuxInfo", indent, 0); return GF_OK; } StartDescDump(trace, "StreamSource", indent, 1); indent++; if (mi->file_name) DumpString(trace, "url", mi->file_name, indent, 1); EndAttributes(trace, indent, 1); StartDescDump(trace, "MP4MuxHints", indent, 1); if (mi->GroupID) DumpInt(trace, "GroupID", mi->GroupID, indent, 1); if (mi->startTime) DumpInt(trace, "startTime", mi->startTime, indent, 1); if (mi->duration) DumpInt(trace, "duration", mi->duration, indent, 1); if (mi->import_flags & GF_IMPORT_USE_DATAREF) DumpBool(trace, "useDataReference", 1, indent, 1); if (mi->import_flags & GF_IMPORT_NO_FRAME_DROP) DumpBool(trace, "noFrameDrop", 1, indent, 1); if (mi->import_flags & GF_IMPORT_SBR_IMPLICIT) DumpString(trace, "SBR_Type", "implicit", indent, 1); else if (mi->import_flags & GF_IMPORT_SBR_EXPLICIT) DumpString(trace, "SBR_Type", "explicit", indent, 1); if (mi->textNode) DumpString(trace, "textNode", mi->textNode, indent, 1); if (mi->fontNode) DumpString(trace, "fontNode", mi->fontNode, indent, 1); EndSubElement(trace, indent, 1); indent--; EndElement(trace, "StreamSource" , indent, 1, 1); return GF_OK;}GF_Err gf_odf_dump_ipmp_tool_list(GF_IPMP_ToolList *tl, FILE *trace, u32 indent, Bool XMTDump){ StartDescDump(trace, "IPMP_ToolListDescriptor", indent, XMTDump); EndAttributes(trace, indent, XMTDump); indent++; DumpDescList(tl->ipmp_tools, trace, indent, "ipmpTool", XMTDump, 0); indent--; EndDescDump(trace, "IPMP_ToolListDescriptor", indent, XMTDump); return GF_OK;}GF_Err gf_odf_dump_ipmp_tool(GF_IPMP_Tool*t, FILE *trace, u32 indent, Bool XMTDump){ StartDescDump(trace, "IPMP_Tool", indent, XMTDump); indent++; DumpBin128(trace, "IPMP_ToolID", (char*)t->IPMP_ToolID, indent, XMTDump); if (t->tool_url) DumpString(trace, "ToolURL", t->tool_url, indent, XMTDump); if (t->toolParamDesc) { StartElement(trace, "toolParamDesc" , indent, XMTDump, 0); gf_ipmpx_dump_data((GF_IPMPX_Data *)t->toolParamDesc, trace, indent + (XMTDump ? 1 : 0), XMTDump); EndElement(trace, "toolParamDesc" , indent, XMTDump, 0); } EndAttributes(trace, indent, XMTDump); indent--; EndDescDump(trace, "IPMP_Tool", indent, XMTDump); return GF_OK;}GF_Err gf_odf_dump_od_update(GF_ODUpdate *com, FILE *trace, u32 indent, Bool XMTDump){ if (XMTDump) { StartDescDump(trace, "ObjectDescriptorUpdate", indent, XMTDump); EndAttributes(trace, indent, XMTDump); indent++; DumpDescList(com->objectDescriptors, trace, indent+1, "OD", XMTDump, 0); indent--; EndDescDump(trace, "ObjectDescriptorUpdate", indent, XMTDump); } else { DumpDescList(com->objectDescriptors, trace, indent, "UPDATE OD", XMTDump, 1); } return GF_OK;}GF_Err gf_odf_dump_od_remove(GF_ODRemove *com, FILE *trace, u32 indent, Bool XMTDump){ u32 i; if (XMTDump) { StartDescDump(trace, "ObjectDescriptorRemove", indent, XMTDump); indent++; StartAttribute(trace, "objectDescriptorId", indent, XMTDump); } else { char ind_buf[OD_MAX_TREE]; OD_FORMAT_INDENT(ind_buf, indent); fprintf(trace, "%sREMOVE OD [", ind_buf); } for (i=0; i<com->NbODs; i++) { if (i) fprintf(trace, " "); fprintf(trace, "%s%d", XMTDump ? "od" : "", com->OD_ID[i]); } if (XMTDump) { EndAttribute(trace, indent, XMTDump); indent--; EndSubElement(trace, indent, XMTDump); } else { fprintf(trace, "]\n"); } return GF_OK;}GF_Err gf_odf_dump_esd_update(GF_ESDUpdate *com, FILE *trace, u32 indent, Bool XMTDump){ if (XMTDump) { StartDescDump(trace, "ES_DescriptorUpdate", indent, XMTDump); StartAttribute(trace, "objectDescriptorId", indent, XMTDump); fprintf(trace, "od%d", com->ODID); EndAttribute(trace, indent, XMTDump); EndAttributes(trace, indent, XMTDump); } else { char ind_buf[OD_MAX_TREE]; OD_FORMAT_INDENT(ind_buf, indent); fprintf(trace, "%sUPDATE ESD in %d\n", ind_buf, com->ODID); } indent++; DumpDescList(com->ESDescriptors, trace, indent+1, "esDescr", XMTDump, 1); indent--; if (XMTDump) { EndDescDump(trace, "ES_DescriptorUpdate", indent, XMTDump); } else { fprintf(trace, "\n"); } return GF_OK;}GF_Err gf_odf_dump_esd_remove(GF_ESDRemove *com, FILE *trace, u32 indent, Bool XMTDump){ u32 i; if (XMTDump) { StartDescDump(trace, "ES_DescriptorRemove", indent, XMTDump); StartAttribute(trace, "objectDescriptorId", indent, XMTDump); fprintf(trace, "od%d", com->ODID); EndAttribute(trace, indent, XMTDump); StartAttribute(trace, "ES_ID", indent, XMTDump); } else { char ind_buf[OD_MAX_TREE]; OD_FORMAT_INDENT(ind_buf, indent); fprintf(trace, "%sREMOVE ESD FROM %d [", ind_buf, com->ODID); } for (i=0; i<com->NbESDs; i++) { if (i) fprintf(trace, " "); if (XMTDump) fprintf(trace, "es"); fprintf(trace, "%d", com->ES_ID[i]); } if (XMTDump) { EndAttribute(trace, indent, XMTDump); indent--; EndSubElement(trace, indent, XMTDump); } else { fprintf(trace, "]\n"); } return GF_OK;}GF_Err gf_odf_dump_ipmp_update(GF_IPMPUpdate *com, FILE *trace, u32 indent, Bool XMTDump){ if (XMTDump) { StartDescDump(trace, "IPMP_DescriptorUpdate", indent, XMTDump); EndAttributes(trace, indent, XMTDump); indent++; DumpDescList(com->IPMPDescList, trace, indent+1, "ipmpDesc", XMTDump, 0); indent--; EndDescDump(trace, "IPMP_DescriptorUpdate", indent, XMTDump); } else { DumpDescList(com->IPMPDescList, trace, indent, "UPDATE IPMPD", XMTDump, 1); } return GF_OK;}GF_Err gf_odf_dump_ipmp_remove(GF_IPMPRemove *com, FILE *trace, u32 indent, Bool XMTDump){ u32 i; StartDescDump(trace, "IPMP_DescriptorRemove", indent, XMTDump); indent++; StartAttribute(trace, "IPMP_DescriptorID", indent, XMTDump); for (i=0; i<com->NbIPMPDs; i++) { if (i) fprintf(trace, " "); fprintf(trace, "%d", com->IPMPDescID[i]); } EndAttribute(trace, indent, XMTDump); indent--; EndSubElement(trace, indent, XMTDump); return GF_OK;}GF_Err gf_odf_dump_base_command(GF_BaseODCom *com, FILE *trace, u32 indent, Bool XMTDump){ StartDescDump(trace, "BaseODCommand", indent, XMTDump); indent++; DumpData(trace, "custom", com->data, com->dataSize, indent, XMTDump); indent--; EndSubElement(trace, indent, XMTDump); return GF_OK;}GF_EXPORTGF_Err gf_oci_dump_event(OCIEvent *ev, FILE *trace, u32 indent, Bool XMTDump){ u8 H, M, S, hS, rien; u16 evID; u32 i; GF_Descriptor *desc; StartDescDump(trace, "OCI_Event", indent, XMTDump); indent++; gf_oci_event_g
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -