			return GF_FALSE;
		}
	}
	//we should be good
	return GF_TRUE;
}

static void dasher_add_descriptors(GF_List **p_dst_list, const GF_PropertyValue *desc_val)
{
	u32 j, count;
	GF_List *dst_list;
	if (!desc_val) return;
	if (desc_val->type != GF_PROP_STRING_LIST) return;
	count = desc_val->value.string_list.nb_items;
	if (!count) return;
	if ( ! (*p_dst_list)) *p_dst_list = gf_list_new();
	dst_list = *p_dst_list;
	for (j=0; j<count; j++) {
		char *desc = desc_val->value.string_list.vals[j];
		if (desc[0] == '<') {
			GF_XMLNode *d;
			GF_SAFEALLOC(d, GF_XMLNode);
			if (d) {
				d->type = GF_XML_TEXT_TYPE;
				d->name = gf_strdup(desc);
			return GF_FALSE;
		}
	}
	 
	return GF_TRUE;
}

static void dasher_add_descriptors(GF_List **p_dst_list, const GF_PropertyValue *desc_val)
{
	u32 j, count;
	GF_List *dst_list;
	if (!desc_val) return;
	if (desc_val->type != GF_PROP_STRING_LIST) return;
	count = desc_val->value.string_list.nb_items;
	if (!count) return;
	if ( ! (*p_dst_list)) *p_dst_list = gf_list_new();
	dst_list = *p_dst_list;
	for (j=0; j<count; j++) {
		char *desc = desc_val->value.string_list.vals[j];
		if (desc[0] == '<') {
			GF_XMLNode *d;
			GF_SAFEALLOC(d, GF_XMLNode);
			if (d) {
				d->type = GF_XML_TEXT_TYPE;
				d->name = gf_strdup(desc);