docs: function getFmtmap(fmt_info){
  
  	var fmtmap = [];
  	if(fmt_info){
  		if(fmt_info.indexOf('%')!==-1)  fmt_info = decodeURIComponent(fmt_info);
  
  		var dset = fmt_info.split(',');
  		for (var i = 0; i < dset.length; i++){
  
  			var sub_inf = parse_info(dset[i]);
  			
  
  
  			for(var k in sub_inf){
  				if(sub_inf[k].indexOf('%')!==-1) sub_inf[k] = decodeURIComponent(sub_inf[k]);
  			}			
  
  			if(sub_inf.stream) {
  				var stream_info = parse_info(sub_inf.stream);
  
  				if(stream_info.s) stream_info.s = re_hash(stream_info.s);
  				if(sub_inf.conn) sub_inf.url = sub_inf.conn+"?";
  
  				for(var k in stream_info){
  					if(stream_info[k].indexOf('%')!==-1) stream_info[k] = decodeURIComponent(stream_info[k]);
  					sub_inf.url += k+"="+stream_info[k]+"&";
  				}
  
  			}
  
  			//console.log(sub_inf);
  
  			if(sub_inf.s) sub_inf.s = re_hash(sub_inf.s);
  			if(sub_inf.url) sub_inf.url = decodeURIComponent(sub_inf.url);
  			if(sub_inf.itag) sub_inf.itag = parseInt(sub_inf.itag);
  			if(!mdata.data[sub_inf.itag])mdata.data[sub_inf.itag]=decodeURIComponent(sub_inf.type);
  			fmtmap.push( sub_inf );
  
  
  		}
  		
  	}
  	return fmtmap;
  }