📄 ipmpx_code.c
字号:
static GF_IPMPX_Data *NewGF_IPMPX_ParametricDescription(){ GF_IPMPX_ParametricDescription *ptr; GF_IPMPX_DATA_ALLOC(ptr, GF_IPMPX_ParametricDescription, GF_IPMPX_PARAMETRIC_DESCRIPTION_TAG); ptr->descriptions = gf_list_new(); return (GF_IPMPX_Data *) ptr;}static void DelGF_IPMPX_ParametricDescription(GF_IPMPX_Data *_p){ GF_IPMPX_ParametricDescription *p = (GF_IPMPX_ParametricDescription *)_p; GF_IPMPX_DELETE_ARRAY(p->descriptionComment); while (gf_list_count(p->descriptions)) { GF_IPMPX_ParametricDescriptionItem *it = (GF_IPMPX_ParametricDescriptionItem *)gf_list_get(p->descriptions, 0); gf_list_rem(p->descriptions, 0); GF_IPMPX_DELETE_ARRAY(it->main_class); GF_IPMPX_DELETE_ARRAY(it->subClass); GF_IPMPX_DELETE_ARRAY(it->typeData); GF_IPMPX_DELETE_ARRAY(it->type); GF_IPMPX_DELETE_ARRAY(it->addedData); free(it); } gf_list_del(p->descriptions); free(p);}static GF_Err ReadGF_IPMPX_ParametricDescription(GF_BitStream *bs, GF_IPMPX_Data *_p, u32 size){ u32 count; GF_IPMPX_ParametricDescription *p = (GF_IPMPX_ParametricDescription *)_p; p->descriptionComment = GF_IPMPX_GetByteArray(bs); p->majorVersion = gf_bs_read_int(bs, 8); p->minorVersion = gf_bs_read_int(bs, 8); count = gf_bs_read_int(bs, 32); while (count) { GF_IPMPX_ParametricDescriptionItem *it = (GF_IPMPX_ParametricDescriptionItem *)malloc(sizeof(GF_IPMPX_ParametricDescriptionItem)); gf_list_add(p->descriptions, it); count--; it->main_class = GF_IPMPX_GetByteArray(bs); it->subClass = GF_IPMPX_GetByteArray(bs); it->typeData = GF_IPMPX_GetByteArray(bs); it->type = GF_IPMPX_GetByteArray(bs); it->addedData = GF_IPMPX_GetByteArray(bs); } return GF_OK;}static u32 SizeGF_IPMPX_ParametricDescription(GF_IPMPX_Data *_p){ u32 size, i; GF_IPMPX_ParametricDescription *p = (GF_IPMPX_ParametricDescription *)_p; size = GF_IPMPX_GetByteArraySize(p->descriptionComment); size += 6; for (i=0; i<gf_list_count(p->descriptions); i++) { GF_IPMPX_ParametricDescriptionItem *it = (GF_IPMPX_ParametricDescriptionItem *)gf_list_get(p->descriptions, i); size += GF_IPMPX_GetByteArraySize(it->main_class); size += GF_IPMPX_GetByteArraySize(it->subClass); size += GF_IPMPX_GetByteArraySize(it->typeData); size += GF_IPMPX_GetByteArraySize(it->type); size += GF_IPMPX_GetByteArraySize(it->addedData); } return size;}static GF_Err WriteGF_IPMPX_ParametricDescription(GF_BitStream *bs, GF_IPMPX_Data *_p){ u32 i; GF_IPMPX_ParametricDescription *p = (GF_IPMPX_ParametricDescription *)_p; GF_IPMPX_WriteByteArray(bs, p->descriptionComment); gf_bs_write_int(bs, p->majorVersion, 8); gf_bs_write_int(bs, p->minorVersion, 8); gf_bs_write_int(bs, gf_list_count(p->descriptions), 32); for (i=0; i<gf_list_count(p->descriptions); i++) { GF_IPMPX_ParametricDescriptionItem *it = (GF_IPMPX_ParametricDescriptionItem *)gf_list_get(p->descriptions, i); GF_IPMPX_WriteByteArray(bs, it->main_class); GF_IPMPX_WriteByteArray(bs, it->subClass); GF_IPMPX_WriteByteArray(bs, it->typeData); GF_IPMPX_WriteByteArray(bs, it->type); GF_IPMPX_WriteByteArray(bs, it->addedData); } return GF_OK;}static GF_IPMPX_Data *NewGF_IPMPX_ToolParamCapabilitiesQuery(){ GF_IPMPX_ToolParamCapabilitiesQuery*ptr; GF_IPMPX_DATA_ALLOC(ptr, GF_IPMPX_ToolParamCapabilitiesQuery, GF_IPMPX_PARAMETRIC_CAPS_QUERY_TAG); return (GF_IPMPX_Data *) ptr;}static void DelGF_IPMPX_ToolParamCapabilitiesQuery(GF_IPMPX_Data *_p){ GF_IPMPX_ToolParamCapabilitiesQuery *p = (GF_IPMPX_ToolParamCapabilitiesQuery *)_p; gf_ipmpx_data_del((GF_IPMPX_Data *) p->description); free(p);}static GF_Err ReadGF_IPMPX_ToolParamCapabilitiesQuery(GF_BitStream *bs, GF_IPMPX_Data *_p, u32 size){ GF_IPMPX_ToolParamCapabilitiesQuery *p = (GF_IPMPX_ToolParamCapabilitiesQuery*)_p; return gf_ipmpx_data_parse(bs, (GF_IPMPX_Data **) &p->description);}static u32 SizeGF_IPMPX_ToolParamCapabilitiesQuery(GF_IPMPX_Data *_p){ GF_IPMPX_ToolParamCapabilitiesQuery *p = (GF_IPMPX_ToolParamCapabilitiesQuery*)_p; return gf_ipmpx_data_full_size((GF_IPMPX_Data *) p->description);}static GF_Err WriteGF_IPMPX_ToolParamCapabilitiesQuery(GF_BitStream *bs, GF_IPMPX_Data *_p){ GF_IPMPX_ToolParamCapabilitiesQuery *p = (GF_IPMPX_ToolParamCapabilitiesQuery*)_p; return gf_ipmpx_data_write(bs, (GF_IPMPX_Data *) p->description);}static GF_IPMPX_Data *NewGF_IPMPX_ToolParamCapabilitiesResponse(){ GF_IPMPX_ToolParamCapabilitiesResponse*ptr; GF_IPMPX_DATA_ALLOC(ptr, GF_IPMPX_ToolParamCapabilitiesResponse, GF_IPMPX_PARAMETRIC_CAPS_RESPONSE_TAG); return (GF_IPMPX_Data *) ptr;}static void DelGF_IPMPX_ToolParamCapabilitiesResponse(GF_IPMPX_Data *_p){ free(_p);}static GF_Err ReadGF_IPMPX_ToolParamCapabilitiesResponse(GF_BitStream *bs, GF_IPMPX_Data *_p, u32 size){ GF_IPMPX_ToolParamCapabilitiesResponse *p = (GF_IPMPX_ToolParamCapabilitiesResponse*)_p; p->capabilitiesSupported = gf_bs_read_int(bs, 1); gf_bs_read_int(bs, 7); return GF_OK;}static u32 SizeGF_IPMPX_ToolParamCapabilitiesResponse(GF_IPMPX_Data *_p){ return 1;}static GF_Err WriteGF_IPMPX_ToolParamCapabilitiesResponse(GF_BitStream *bs, GF_IPMPX_Data *_p){ GF_IPMPX_ToolParamCapabilitiesResponse*p = (GF_IPMPX_ToolParamCapabilitiesResponse*)_p; gf_bs_write_int(bs, p->capabilitiesSupported, 1); gf_bs_write_int(bs, 0, 7); return GF_OK;}static GF_IPMPX_Data *NewGF_IPMPX_ConnectTool(){ GF_IPMPX_ConnectTool*ptr; GF_IPMPX_DATA_ALLOC(ptr, GF_IPMPX_ConnectTool, GF_IPMPX_CONNECT_TOOL_TAG); return (GF_IPMPX_Data *) ptr;}static void DelGF_IPMPX_ConnectTool(GF_IPMPX_Data *_p){ GF_IPMPX_ConnectTool *p = (GF_IPMPX_ConnectTool*)_p; if (p->toolDescriptor) gf_odf_desc_del((GF_Descriptor *)p->toolDescriptor); free(p);}static GF_Err ReadGF_IPMPX_ConnectTool(GF_BitStream *bs, GF_IPMPX_Data *_p, u32 size){ u32 dsize; GF_IPMPX_ConnectTool*p = (GF_IPMPX_ConnectTool*)_p; return gf_odf_parse_descriptor(bs, (GF_Descriptor **) &p->toolDescriptor, &dsize);}static u32 SizeGF_IPMPX_ConnectTool(GF_IPMPX_Data *_p){ u32 size; GF_IPMPX_ConnectTool*p = (GF_IPMPX_ConnectTool*)_p; gf_odf_size_descriptor((GF_Descriptor *)p->toolDescriptor, &size); size += gf_odf_size_field_size(size); return size;}static GF_Err WriteGF_IPMPX_ConnectTool(GF_BitStream *bs, GF_IPMPX_Data *_p){ GF_IPMPX_ConnectTool*p = (GF_IPMPX_ConnectTool*)_p; gf_odf_write_descriptor(bs, (GF_Descriptor *)p->toolDescriptor); return GF_OK;}static GF_IPMPX_Data *NewGF_IPMPX_DisconnectTool(){ GF_IPMPX_DisconnectTool*ptr; GF_IPMPX_DATA_ALLOC(ptr, GF_IPMPX_DisconnectTool, GF_IPMPX_DISCONNECT_TOOL_TAG); return (GF_IPMPX_Data *) ptr;}static void DelGF_IPMPX_DisconnectTool(GF_IPMPX_Data *_p){ free(_p);}static GF_Err ReadGF_IPMPX_DisconnectTool(GF_BitStream *bs, GF_IPMPX_Data *_p, u32 size){ GF_IPMPX_DisconnectTool*p = (GF_IPMPX_DisconnectTool*)_p; p->IPMP_ToolContextID = gf_bs_read_int(bs, 32); return GF_OK;}static u32 SizeGF_IPMPX_DisconnectTool(GF_IPMPX_Data *_p){ return 4;}static GF_Err WriteGF_IPMPX_DisconnectTool(GF_BitStream *bs, GF_IPMPX_Data *_p){ GF_IPMPX_DisconnectTool*p = (GF_IPMPX_DisconnectTool*)_p; gf_bs_write_int(bs, p->IPMP_ToolContextID, 32); return GF_OK;}static GF_IPMPX_Data *NewGF_IPMPX_GetToolContext(){ GF_IPMPX_GetToolContext*ptr; GF_IPMPX_DATA_ALLOC(ptr, GF_IPMPX_GetToolContext, GF_IPMPX_GET_TOOL_CONTEXT_TAG); return (GF_IPMPX_Data *) ptr;}static void DelGF_IPMPX_GetToolContext(GF_IPMPX_Data *_p){ free(_p);}static GF_Err ReadGF_IPMPX_GetToolContext(GF_BitStream *bs, GF_IPMPX_Data *_p, u32 size){ Bool has_idex; GF_IPMPX_GetToolContext*p = (GF_IPMPX_GetToolContext*)_p; p->scope = gf_bs_read_int(bs, 3); has_idex = gf_bs_read_int(bs, 1); gf_bs_read_int(bs, 4); if (has_idex) p->IPMP_DescriptorIDEx = gf_bs_read_int(bs, 16); return GF_OK;}static u32 SizeGF_IPMPX_GetToolContext(GF_IPMPX_Data *_p){ GF_IPMPX_GetToolContext*p = (GF_IPMPX_GetToolContext*)_p; return p->IPMP_DescriptorIDEx ? 3 : 1;}static GF_Err WriteGF_IPMPX_GetToolContext(GF_BitStream *bs, GF_IPMPX_Data *_p){ GF_IPMPX_GetToolContext*p = (GF_IPMPX_GetToolContext*)_p; gf_bs_write_int(bs, p->scope, 3); gf_bs_write_int(bs, p->IPMP_DescriptorIDEx ? 1 : 0, 1); gf_bs_write_int(bs, 0, 4); if (p->IPMP_DescriptorIDEx) gf_bs_write_int(bs, p->IPMP_DescriptorIDEx, 16); return GF_OK;}static GF_IPMPX_Data *NewGF_IPMPX_GetToolContextResponse(){ GF_IPMPX_GetToolContextResponse*ptr; GF_IPMPX_DATA_ALLOC(ptr, GF_IPMPX_GetToolContextResponse, GF_IPMPX_GET_TOOL_CONTEXT_RESPONSE_TAG); return (GF_IPMPX_Data *) ptr;}static void DelGF_IPMPX_GetToolContextResponse(GF_IPMPX_Data *_p){ free(_p);}static GF_Err ReadGF_IPMPX_GetToolContextResponse(GF_BitStream *bs, GF_IPMPX_Data *_p, u32 size){ Bool has_esid; GF_IPMPX_GetToolContextResponse*p = (GF_IPMPX_GetToolContextResponse*)_p; has_esid = gf_bs_read_int(bs, 1); gf_bs_read_int(bs, 5); p->OD_ID = gf_bs_read_int(bs, 10); if (has_esid) p->ESD_ID = gf_bs_read_int(bs, 16); p->IPMP_ToolContextID = gf_bs_read_int(bs, 32); return GF_OK;}static u32 SizeGF_IPMPX_GetToolContextResponse(GF_IPMPX_Data *_p){ GF_IPMPX_GetToolContextResponse*p = (GF_IPMPX_GetToolContextResponse*)_p; return p->ESD_ID ? 8 : 6;}static GF_Err WriteGF_IPMPX_GetToolContextResponse(GF_BitStream *bs, GF_IPMPX_Data *_p){ GF_IPMPX_GetToolContextResponse*p = (GF_IPMPX_GetToolContextResponse*)_p; gf_bs_write_int(bs, p->ESD_ID ? 1 : 0, 1); gf_bs_write_int(bs, 0, 5); gf_bs_write_int(bs, p->OD_ID, 10); if (p->ESD_ID) gf_bs_write_int(bs, p->ESD_ID, 16); gf_bs_write_int(bs, p->IPMP_ToolContextID, 32); return GF_OK;}static GF_IPMPX_Data *NewGF_IPMPX_AddToolNotificationListener(){ GF_IPMPX_AddToolNotificationListener*ptr; GF_IPMPX_DATA_ALLOC(ptr, GF_IPMPX_AddToolNotificationListener, GF_IPMPX_ADD_TOOL_LISTENER_TAG); return (GF_IPMPX_Data *) ptr;}static void DelGF_IPMPX_AddToolNotificationListener(GF_IPMPX_Data *_p){ free(_p);}static GF_Err ReadGF_IPMPX_AddToolNotificationListener(GF_BitStream *bs, GF_IPMPX_Data *_p, u32 size){ u32 i; GF_IPMPX_AddToolNotificationListener*p = (GF_IPMPX_AddToolNotificationListener*)_p; p->scope = gf_bs_read_int(bs, 3); gf_bs_read_int(bs, 5); p->eventTypeCount = gf_bs_read_int(bs, 8); for (i=0;i<p->eventTypeCount; i++) p->eventType[i] = gf_bs_read_int(bs, 8); return GF_OK;}static u32 SizeGF_IPMPX_AddToolNotificationListener(GF_IPMPX_Data *_p){ GF_IPMPX_AddToolNotificationListener*p = (GF_IPMPX_AddToolNotificationListener*)_p; return p->eventTypeCount + 2;}static GF_Err WriteGF_IPMPX_AddToolNotificationListener(GF_BitStream *bs, GF_IPMPX_Data *_p){ u32 i; GF_IPMPX_AddToolNotificationListener*p = (GF_IPMPX_AddToolNotificationListener*)_p; gf_bs_write_int(bs, p->scope, 3); gf_bs_write_int(bs, 0, 5); gf_bs_write_int(bs, p->eventTypeCount, 8); for (i=0;i<p->eventTypeCount; i++) gf_bs_write_int(bs, p->eventType[i], 8); return GF_OK;}static GF_IPMPX_Data *NewGF_IPMPX_RemoveToolNotificationListener(){ GF_IPMPX_RemoveToolNotificationListener*ptr; GF_IPMPX_DATA_ALLOC(ptr, GF_IPMPX_RemoveToolNotificationListener, GF_IPMPX_REMOVE_TOOL_LISTENER_TAG); return (GF_IPMPX_Data *) ptr;}static void DelGF_IPMPX_RemoveToolNotificationListener(GF_IPMPX_Data *_p){ free(_p);}static GF_Err ReadGF_IPMPX_RemoveToolNotificationListener(GF_BitStream *bs, GF_IPMPX_Data *_p, u32 size){ u32 i; GF_IPMPX_RemoveToolNotificationListener*p = (GF_IPMPX_RemoveToolNotificationListener*)_p; p->eventTypeCount = gf_bs_read_int(bs, 8); for (i=0;i<p->eventTypeCount; i++) p->eventType[i] = gf_bs_read_int(bs, 8); return GF_OK;}static u32 SizeGF_IPMPX_RemoveToolNotificationListener(GF_IPMPX_Data *_p){ GF_IPMPX_RemoveToolNotificationListener*p = (GF_IPMPX_RemoveToolNotificationListener*)_p; return p->eventTypeCount + 1;}static GF_Err WriteGF_IPMPX_RemoveToolNotificationListener(GF_BitStream *bs, GF_IPMPX_Data *_p){ u32 i; GF_IPMPX_RemoveToolNotificationListener*p = (GF_IPMPX_RemoveToolNotificationListener*)_p; gf_bs_write_int(bs, p->eventTypeCount, 8); for (i=0;i<p->eventTypeCount; i++) gf_bs_write_int(bs, p->eventType[i], 8); return GF_OK;}static GF_IPMPX_Data *NewGF_IPMPX_NotifyToolEvent(){ GF_IPMPX_NotifyToolEvent*ptr; GF_IPMPX_DATA_ALLOC(ptr, GF_IPMPX_NotifyToolEvent, GF_IPMPX_NOTIFY_TOOL_EVENT_TAG); return (GF_IPMPX_Data *) ptr;}static void DelGF_IPMPX_NotifyToolEvent(GF_IPMPX_Data *_p){ free(_p);}static GF_Err ReadGF_IPMPX_NotifyToolEvent(GF_BitStream *bs, GF_IPMPX_Data *_p, u32 size){ Bool has_id; GF_IPMPX_NotifyToolEvent*p = (GF_IPMPX_NotifyToolEvent*)_p; has_id = gf_bs_read_int(bs, 1); gf_bs_read_int(bs, 7); if (has_id) { p->OD_ID = gf_bs_read_int(bs, 10); gf_bs_read_int(bs, 6); p->ESD_ID = gf_bs_read_int(bs, 16); } p->eventType = gf_bs_read_int(bs, 8); p->IPMP_ToolContextID = gf_bs_read_int(bs, 32); return GF_OK;}static u32 SizeGF_IPMPX_NotifyToolEvent(GF_IPMPX_Data *_p){ GF_IPMPX_NotifyToolEvent*p = (GF_IPMPX_NotifyToolEvent*)_p; return (p->OD_ID || p->ESD_ID) ? 10 : 6;}static GF_Err WriteGF_IPMPX_NotifyToolEvent(GF_BitStream *bs, GF_IPMPX_Data *_p){ GF_IPMPX_NotifyToolEvent*p = (GF_IPMPX_NotifyToolEvent*)_p; gf_bs_write_int(bs, (p->OD_ID || p->ESD_ID) ? 1 : 0, 1); gf_bs_write_int(bs, 0, 7); if (p->OD_ID || p->ESD_ID) { gf_bs_write_int(bs, p->OD_ID, 10); gf_bs_write_int(bs, 0, 6); gf_bs_write_int(bs, p->ESD_ID, 16); } gf_bs_write_int(bs, p->eventType, 8); gf_bs_write_int(bs, p->IPMP_ToolContextID, 32); return GF_OK;}static GF_IPMPX_Data *NewGF_IPMPX_CanProcess(){ GF_IPMPX_CanProcess*ptr; GF_IPMPX_DATA_ALLOC(ptr, GF_IPMPX_CanProcess, GF_IPMPX_CAN_PROCESS_TAG); return (GF_IPMPX_Data *) ptr;}static void DelGF_IPMPX_CanProcess(GF_IPMPX_Data *_p){ free(_p);}static GF_Err ReadGF_IPMPX_CanProcess(GF_BitStream *bs, GF_IPMPX_Data *_p, u32 size)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -