* media-info is a library to collect metadata and streaminfo from media files * the current implementation is idler-based. * you create a new media_info object * you set the string name of a source element to use using g_object_set or gst_media_info_set_source * you declare you'll read a given file by using gst_media_info_read_with_idler * you loop gst_media_info_read_idler (info, &stream) as long as it returns TRUE and as long as stream is still NULL * INTERNALS: - instance_init sets up the media info reader, its elements, and connects the deep_notify callback - read_with_idler resets the media info reader object, and sets location and flags - read_idler runs through a state machine: NULL - TYPEFIND - STREAM - METADATA - STREAMINFO - FORMAT - NULL: just returns find_type_pre, which moves state to TYPEFIND - TYPEFIND: - iterates as long as it can until it has priv->type - find_type_post - call gmi_set_mime which creates a pipeline to decode stuff - move to STREAM - STREAM