'Get the metadata for the file. You should call this first
so we can populate some meta data and ensure that the file is valid.'

def get_meta(self):

    result = self._call('meta', True)
    data = {}
    for fmt in formats_re:
        formats = fmt.search(result)
        if formats:
            data['formats'] = formats.group(1).split(',')
    duration = duration_re.search(result)
    if duration:
        data['duration'] = (((3600 * int(duration.group(1))) + (60 * int(duration.group(2)))) + float(duration.group(3)))
    dimensions = dimensions_re.search(result)
    if dimensions:
        data['dimensions'] = (int(dimensions.group(1)), int(dimensions.group(2)))
    self.meta = data
