⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ipmpx_code.c

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 C
📖 第 1 页 / 共 5 页
字号:
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 + -