[gst-devel] GStreamer 0.2.0 roadmap/tasklist

Wim Taymans wim.taymans at chello.be
Mon May 7 21:10:40 CEST 2001


On 07 May 2001 20:19:33 +0200, Christian Schaller wrote:
> GStreamer 0.2.0 will be the last release we do for the Glib/GTK+ 1.2
> platform. After this release GStreamer will move to the GLIB2.0
> platform. Due to this GStreamer 0.2.0 will be a release which probably
> will be the primary introduction new users have to GStreamer for a good
> while ahead, since the GLIB\GTK+ 2.0 platform will probably only be
> widely deployed at the end of the year. In that regard I have tried
> putting togheter this list of features we have working or want to have
> working for the GStreamer 0.2.0 release. This is a DRAFT, not a final
> document, so many things in here might change depending on your feedback
> and commitments. 
> I know that there is a lot of stuff missing so please give feedback and
> put your names to tasks, and I will put out a new version of this doc in
> a few days.
> 
> The main new features in the core of GStreamer in the new INCSCHED1
> system which Erik details here:
> http://www.geocrawler.com/lists/3/SourceForge/1504/25/5665863/ 
> and Wim's new dynamic autoplug architecture described here:
> http://www.geocrawler.com/lists/3/SourceForge/1504/0/5680778/

Well, actually, it's omegas idea :)

Anyway, since Christian broke the ice, here's my status:

autoplugcache: autoplugcache: AutoplugCache 
  Works.

gstelements: fakesrc: Fake Source
  Works fairly well, we eventually want it to become a
  very powerfull src element that can generate buffers in almost any
imaginable sequence/complexity you want. Provisions for that are in
the code but is otherwise unimplemented.

gstelements: fakesink: Fake Sink
  Works. should eventually provide access to sinked buffers so rapid
sink prototyping can be done at the application level.

gstelements: disksrc: Disk Source
  Works somewhat. There's a huge leak in the way we handle mmapped disk
reads. We really should fix this and unmap appropriatly.

gstelements: disksink: Disk Sink
  Works.

gstelements: identity: Identity
  Works. Can be configured as a loopbased/chain based elements and has a
sleep time arg. Buffer handoff should generate a signal for rapid
plugin prototyping. Uses caps and bufferpool proxying.

gstelements: fdsink: Filedescriptor Sink
gstelements: fdsrc: Disk Source
  Both Work

gstelements: multidisksrc: Multi Disk Source
  Works somewhat (not heavily tested by myself..)

gstelements: pipefilter: Pipefilter
  Needs rework. It should be remade as a DECOUPLED element.

gstelements: sinesrc: Sine-wave src
  Works. Ties audio caps to the core elements which is probably not a
good idea.

gstelements: tee: Tee pipe fitting
  Works. doesn't do caps nor bufferpool proxying.

gstelements: httpsrc: HTTP Source
  Works, might suffer bitrot.

parseau: parseau: .au parser
  Works.  

wincodec: winenc: Windows codec image encoder
  Used to work, probably broken.

wincodec: windec: Windows codec decoder
  Works. need a rewrite...

aviencoder: aviencoder: .avi encoder
  Probably broken.

avidecoder: avidecoder: .avi parser
  Works, but is very badly designed. Has lots of ugly hacks and needs a
rewrite.

audioscale: audioscale: Audio scaler
  Works in some circumstances. suffered bitrot.

v4lsrc: v4lsrc: Video (v4l) Source
  Works somewhat. Is very bad in caps negotiation and breaks when
looking at it. needs a rewrite.

cdparanoia: cdparanoia: CD Audio (cdda) Source, Paranoia IV
  Works pretty well. Has suffered bitrot (no updated audio caps)

stereo: stereo: Stereo effect
  bitrotten. no caps etc...

volume: volume: Volume control
  bitrotten. no caps etc..

esdsink: esdsink: Esound audio sink
  Works somewhat. doesn't use caps to set up the audio format, so it
breaks pretty easily.

median: median: Median effect
  bitrotten, doesn't use caps.

smooth: smooth: Smooth effect
  bitrotten, doesn't use caps.

colorspace: colorspace: Colorspace converter
  somewhat works. Breaks very easily due to poor capsnego
implementation.

stereo2mono: stereo2mono: Stereo to Mono converter
  Should work.

volenv: volenv: Volume Envelope
  Works, capsnego is badly implemented though.

adder: adder: Adder
  Works.capsnego badly implemented.

icecastsend: icecastsend: An Icecast  plugin
  Works, I think.  

jpeg: jpegenc: jpeg image encoder
  bitrotten, capsnego sucks.
  
jpeg: jpegdec: jpeg image decoder
  Works somewhat.

mpg123: mpg123: mpg123 mp3 decoder
  Works somewhat. isn't thread safe, doesn't work on PPC.

mp3parse: mp3parse: MP3 Parser
  Works.

mad: mad: mad mp3 decoder
  Works pretty well.

lame: lame: L.A.M.E. mp3 encoder
  Works pretty well.

mpeg1encoder: mpeg1encoder: mpeg1 and mpeg2 video encoder
  Broken.

mpeg_play: mpeg_play: mpeg_play mpeg1 video decoder
  Works very well.

mpegaudio: mpegaudio: mpegaudio mp3 encoder
  Works. src pad templates are not implemented..

mpeg1parse: mpeg1parse: MPEG1 Parser
  Works pretty well.

system_encode: system_encode: MPEG1 Multiplexer
  somewhat broken.

mp1videoparse: mp1videoparse: MPEG 1 Video Parser
  Works.

ac3dec: ac3dec: ac3dec mp3 decoder
  Works.

ac3parse: ac3parse: AC3 Parser
  obsolete

mpeg2dec: mpeg2dec: mpeg1 and mpeg2 video decoder
  Works very well.

mpeg2enc: mpeg2enc: mpeg1 and mpeg2 video encoder
  Works somewhat. needs rewrite.

mpeg2parse: mpeg2parse: MPEG System Parser
  Works well.
  
mpeg2subt: mpeg2subt: MPEG2 subtitle Decoder
  bitrotten.

mpeg2play: mpeg2play: mpeg1 and mpeg2 video decoder
  bitrotten..

mp2videoparse: mp2videoparse: MPEG 2 Video Parser
  bitrotten.

rtjpeg: rtjpegenc: RTjpeg encoder
rtjpeg: rtjpegdec: RTjpeg decoder
  both broken.

vcdsrc: vcdsrc: VCD Source
  bitrotten, doesn't do caps.

videoscale: videoscale: Video scaler
  somewhat works.

smoothwave: smoothwave: Smooth waveform
  bitrotten.

spectrum: spectrum: Spectrum analyzer
  bitrotten.

synaesthesia: synaesthesia: Synaesthesia display
  bitrotten. doesn't work as advertised.

vumeter: vumeter: VU Meter
  bitrotten.

vorbis: vorbisenc: Ogg Vorbis encoder
  bitrotten, need to adjust to caps.

vorbis: vorbisdec: Ogg Vorbis decoder
  Works.

parsewav: parsewav: .wav parser
  bitrotten.

alaw: alawencode: PCM to A Law conversion
  Works.

alaw: alawdecode: A Law to PCM conversion
  Works.

gst1394: dv1394src: Firewire (1394) DV Source
  Somewhat works, needs more work for PAL camaras

artsdsink: artsdsink: aRtsd audio sink
  Works.

dvdec: dvdec: DV (smpte314) decoder plugin
  Works.

flxdec: flxdec: FLX Decoder
  Works. doesn't work in gstplay because capsnego issues.

mulaw: mulawencode: PCM to Mu Law conversion
mulaw: mulawdecode: Mu Law to PCM conversion
  Both work.

ossaudio: osssink: Audio Sink (OSS)
  Works pretty well. Could do with some more caps checking.

ossaudio: osssrc: Audio Source (OSS)
  bitrotten, needs caps stuff..

ossaudio: ossgst: Audio Wrapper (OSS)
  somewhat works.

intfloatconvert: int2float: Integer to Float effect
intfloatconvert: float2int: Float to Integer effect
  status unknown. should work by looking at the code.

rtpsend: rtpsend: RTP plugin
  Should work.

xvideosink: xvideosink: Video sink
  Somewhat works. Could do with some more caps checking.

aasink: aasink: Video sink
  Works pretty well.

ALSA
  unknown

LADSPA
  Doesn't work

> 
> **target for 0.2.0**
> The audio and screen outputs work well which is the important stuff. Not
> sure about the milage of the encoders, but having at least one working
> video encoder for demonstration purposes should be a priority. (wtay,
> rboulton)

Yup, that's why I'm going to get mpeg2enc libraryfied and use that as a
base for a good, high quality encoder plugin.

> 
> GUI applications
> -----------------------------------
> The editor has suffered some bitrot, but cleaning this up is not realy
> on the table for the 0.2.0 release unless someone steps up and offers to
> do it. Should probably be a higher priority for the 0.3.0 release.

Yup, it needs a rewrite. People with interestin GUI apps: this is a
chance to create something really cool. Takers will have great indept
knowledge of the gstreamer core and object model.

> 
> The gstmediaplay application still works and is shipable as is too. I
> would suggest however that if someone on the list would be interested in
> maybe adding support for configuring what output sink to use for
> instance that would be great.

error recovery is crucial here. It needs a solid support from the core
though, this is why it breaks sometimes.

> 
> ***Tagert for GStreamer 0.2.0***
> No release-stoping plans, but some improvements to gstmediaplay would
> probably be a good idea for public perception of GStreamer capabilities.
> (ajmitch)

> 
> 
> The status of our build system:
> -----------------------------------
> For the 0.2.0 release we should try to make sure that our source build
> system will be as userfriendly as possible. This means that the vast
> majority of users on supported operating systems should be able to have
> GStreamer installed by doing a: configure, make, make install
> This means that anything in our build system which currently doesn't
> build should be disabled by default and all plug-inns which requirements
> aren't meet should not try to build.
> 
> *** Target for GStreamer 0.2.0 ***
> This means that docs-build should probably be disabled by default for
> 0.2.0 (rboulton)

yes

> 
> Plattform support:
> ------------------------------------
> Prossesors: Currently we have support for Intel, PPC and Sparc
> processors in GStreamer.
> Operating Systems: We currently compile and run on Linux and FreeBSD, we
> probably would also compile and run under Solaris if the Solaris
> instance uses XFree86.
> 
> Milage for other Unices on our supported processors are unknown.
> 
> *** Target for GStreamer 0.2.0 ****
> We should probably try to make the XFree86 dependency in GStreamer
> optional for GStreamer 0.2.0, both to cater to the people running
> Solaris on Intel and Sparc, but also for the people using commerical X
> servers on Linux. (wtay)

I can't test this but I'll try...

> 
> Other things:
> Bonobo-media - we now have the start of bonobo-media support in
> GStreamer
> 
> ** target for GStreamer 0.2.0 **
> wim must make a decision depending on how far along it is, if this
> should be targeted for completion before 0.2.0
> 
Cactus is adding video support as we speak, so there's a fair chance
it'll go in. Since it's just a layer around libgstplay.so it's actually
very easy to make.

Wim






More information about the gstreamer-devel mailing list