[gst-devel] type finding

Erik Walthinsen omega at temple-baptist.com
Thu Jan 30 16:52:03 CET 2003

On 30 Jan 2003, Colin Walters wrote:

> Your API changes look good to me.  I would say though that we shouldn't
> worry a lot about the performance penalty; after all, in the common case
> GStreamer will have filename extensions to work with.
I'm working on reimplementing the header checks now to search the entire
buffer.  It won't be pretty, and as I mention in the comments it's not
quite correct either.  But without an autoplugcache in place and a
'certainty' system in place, it'll have to be enough for now.

> Also, it might be good for apps to have a way to give hints to the
> autoplugger about the expected media type (I didn't see a way to do this
> currently).  So that way the autoplugger could try those types first,
> with both low and high effort, and only later fall back to other types.
Well, the filesrc should really be doing this.  gnomevfssrc should be able
to set caps based on several of its properties, such as iradio.

The longer-term typefind fixes depend on general use of the autoplugcache.
The correct way to detect an mp3 that's mid-stream is to search for a
frame header, then calculate the size of that frame, skip those bytes, and
confirm that there's another frame header at the expected location.  In
order to do that, we very well may require two consecutive buffers.

I'm not sure how spider manages sending the buffer to typefind, then
'recalling' it and sending it into the newly selected element, but the
autoplugcache is designed to do this, up to an arbitrary depth.  When I
rework the original dynamic autoplugger, that's what'll be usd.

      Erik Walthinsen <omega at temple-baptist.com> - System Administrator
       /  \                GStreamer - The only way to stream!
      |    | M E G A        ***** http://gstreamer.net/ *****
      _\  /_

More information about the gstreamer-devel mailing list