gstreamer/gst-libs/gst/media-info
Benjamin Otte c870aeb9ce fixes for G_DISABLE_ASSERT and friends
Original commit message from CVS:
* examples/dynparams/filter.c: (ui_control_create):
* examples/gstplay/player.c: (print_tag):
* ext/alsa/gstalsa.c: (gst_alsa_request_new_pad):
* ext/gdk_pixbuf/gstgdkanimation.c:
(gst_gdk_animation_iter_may_advance):
* ext/jack/gstjack.c: (gst_jack_request_new_pad):
* ext/mad/gstid3tag.c: (gst_mad_id3_to_tag_list),
(tag_list_to_id3_tag_foreach), (gst_id3_tag_handle_event):
* ext/vorbis/oggvorbisenc.c: (gst_oggvorbisenc_get_tag_value):
* ext/vorbis/vorbisenc.c: (gst_vorbisenc_get_tag_value):
* ext/xine/xineaudiodec.c: (gst_xine_audio_dec_chain):
* gst-libs/gst/media-info/media-info-test.c: (print_tag):
* gst/sine/demo-dparams.c: (main):
* gst/tags/gstvorbistag.c: (gst_tag_to_vorbis_comments):
* testsuite/alsa/formats.c: (create_pipeline):
* testsuite/alsa/sinesrc.c: (sinesrc_force_caps), (sinesrc_get):
fixes for G_DISABLE_ASSERT and friends
* gst/typefind/gsttypefindfunctions.c: (aac_type_find),
(mp3_type_frame_length_from_header), (mp3_type_find),
(plugin_init):
require mp3 typefinding to have at least MIN_HEADERS valid headers
add typefinding for AAC adts files
2004-08-03 14:28:12 +00:00
..
.gitignore exciting .cvsignore updates! 2002-12-31 18:14:08 +00:00
Makefile.am update libtool version actually use it in media-info 2004-03-15 23:31:46 +00:00
media-info-priv.c Add name=source to the wavparse pipeline 2004-06-25 11:57:25 +00:00
media-info-priv.h add more plugins to the build add some definitions needed by plugins fixes for build problems 2004-07-26 22:09:59 +00:00
media-info-test.c fixes for G_DISABLE_ASSERT and friends 2004-08-03 14:28:12 +00:00
media-info.c don't mix tabs and spaces 2004-03-15 19:32:27 +00:00
media-info.h *.h: Revert indenting 2004-03-15 16:32:54 +00:00
media-info.vcproj more working plugins 2004-07-27 21:41:30 +00:00
README some info 2004-03-15 17:19:06 +00:00

* 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