[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