summaryrefslogtreecommitdiffstats
path: root/gst-libs/gst
diff options
context:
space:
mode:
authorThomas Vander Stichele <thomas@apestaart.org>2004-03-15 17:19:06 +0000
committerThomas Vander Stichele <thomas@apestaart.org>2004-03-15 17:19:06 +0000
commit8cf1cbe4ba2b85db6aada2de7965e4ac1501c3e4 (patch)
treea561c6c3a690d79722e9d5b8bce95038bddf8aea /gst-libs/gst
parentb8c966dc3ef47baabe917298acfe2f2529ea9da7 (diff)
downloadgst-plugins-bad-8cf1cbe4ba2b85db6aada2de7965e4ac1501c3e4.tar.gz
gst-plugins-bad-8cf1cbe4ba2b85db6aada2de7965e4ac1501c3e4.tar.bz2
gst-plugins-bad-8cf1cbe4ba2b85db6aada2de7965e4ac1501c3e4.zip
some info
Original commit message from CVS: some info
Diffstat (limited to 'gst-libs/gst')
-rw-r--r--gst-libs/gst/media-info/README30
1 files changed, 30 insertions, 0 deletions
diff --git a/gst-libs/gst/media-info/README b/gst-libs/gst/media-info/README
new file mode 100644
index 00000000..f17f570f
--- /dev/null
+++ b/gst-libs/gst/media-info/README
@@ -0,0 +1,30 @@
+* 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