42 #define MHEG5CP_DEFAULT 127 65 DPL5((
">> asn1_decodeContentBody(%X,%X)\n", listPtr, contBody));
69 currItem = listPtr->children;
72 switch (currItem->tag)
76 contBody->referenced = MHEG5FALSE;
79 case REFERENCED_CONTENT_TYPE:
80 currItem = currItem->children;
82 contBody->ref.referenced.priority = MHEG5CP_DEFAULT;
83 while (currItem != NULL)
85 switch (currItem->tag)
88 contBody->ref.referenced.reference.len = currItem->data.stringData.len;
89 contBody->ref.referenced.reference.data = currItem->data.stringData.data;
90 currItem->data.stringData.len = 0;
91 currItem->data.stringData.data = NULL;
94 contBody->ref.referenced.size = currItem->data.intData;
97 contBody->ref.referenced.priority = currItem->data.intData;
102 currItem = currItem->next;
104 contBody->referenced = MHEG5TRUE;
108 DPL2((
"WARNING:[ASN.1] Unknown tag in contentBody\n"));
115 DPL2((
"WARNING:[ASN.1] asn1_decodeContentBody() returns errVal = %d\n", errVal));
119 DPL5((
"<< asn1_decodeContentBody() Returns %d\n", errVal));
138 DPL5((
">> asn1_decodeIngredient(%X,%X)\n", listPtr, ingredient));
143 currItem = listPtr->children;
146 ingredient->shared = MHEG5FALSE;
147 ingredient->originalContent.ref.referenced.priority = MHEG5CP_DEFAULT;
148 ingredient->contentHook = MHEG5CHOOK_UNDEFINED;
149 ingredient->cloned = MHEG5FALSE;
152 while (currItem != NULL)
155 switch (currItem->tag)
158 case EXTERNAL_REFERENCE_TYPE:
161 if (currItem->children->next == NULL)
167 ingredient->root.id = currItem->children->next->data.intData;
171 ingredient->root.id = currItem->data.intData;
175 if (currItem->data.boolData == 0)
177 ingredient->initiallyStopped = MHEG5TRUE;
181 ingredient->contentHook = currItem->data.intData;
184 errVal |= asn1_decodeContentBody(currItem, &ingredient->originalContent);
187 if (currItem->data.boolData != 0)
189 ingredient->shared = MHEG5TRUE;
196 currItem = currItem->next;
198 if (ingredient->root.id < 1)
207 DPL2((
"WARNING:[ASN.1] asn1_decodeIngredient() returns errVal = %d\n", errVal));
211 DPL5((
"<< asn1_decodeIngredient() Returns %d\n", errVal));
Implementation of the Ingredient class.
Functions to create a MHEG5Ingredient from a MHEG5 script (in the form of a list of fpa1_syntaxList s...
Contains functions/structure used to do MHEG-5 ASN.1 syntax parsing.
Typedefs, macros used by all of parser. These may be duplicated elsewhere.
typedefs etc for the whole object creation section.
Contains macros for MHEG-5 ASN.1 tags and structures.
asnErr asn1_decodeIngredient(fpa1_syntaxList *listPtr, MHEG5Ingredient *ingredient)
Decodes Ingredient class. Refer to MHEG5 Specification (ISO/IEC 13522-2:1996), Appendix A...