+ e.elements.each("media:group/media:content") { |c|
+ if url = (c.elements["@url"].value rescue nil)
+ type = c.elements["@type"].value rescue nil
+ medium = c.elements["@medium"].value rescue nil
+ expression = c.elements["@expression"].value rescue nil
+ seconds = c.elements["@duration"].value.to_i rescue nil
+ fmt = case num_fmt = (c.elements["@yt:format"].value rescue nil)
+ when "1"
+ "h263+amr"
+ when "5"
+ "swf"
+ when "6"
+ "mp4+aac"
+ when nil
+ nil
+ else
+ num_fmt
+ end
+ vid[:formats] << {
+ :url => url, :type => type,
+ :medium => medium, :expression => expression,
+ :seconds => seconds,
+ :numeric_format => num_fmt,
+ :format => fmt
+ }.delete_if { |k, v| v.nil? }
+ if seconds
+ vid[:formats].last[:duration] = Utils.secs_to_short(seconds)
+ else
+ vid[:formats].last[:duration] = _("unknown duration")
+ end
+ end
+ }