GF_Err diST_box_read(GF_Box *s, GF_BitStream *bs)
{
- u32 i;
- char str[1024];
GF_DIMSScriptTypesBox *p = (GF_DIMSScriptTypesBox *)s;
- i=0;
- str[0]=0;
- while (1) {
- str[i] = gf_bs_read_u8(bs);
- if (!str[i]) break;
- i++;
- }
- ISOM_DECREASE_SIZE(p, i);
-
- p->content_script_types = gf_strdup(str);
+ p->content_script_types = gf_malloc(sizeof(char) * (s->size+1));
+ if (!p->content_script_types) return GF_OUT_OF_MEM;
+ gf_bs_read_data(bs, p->content_script_types, s->size);
+ p->content_script_types[s->size] = 0;
return GF_OK;
}