143 lines (115 with data), 5.5 kB
The road to xine-lib 1.0
this only relates to the xine engine (xine-lib), not xine
1-rc1 First "release candidate". xine's architecture is stable, ie. it
must not be changed before 1.0. Features that do not appear in
this roadmap must not be added. Focus is on bugfixes.
1-rc2 Documentation is brought up to date.
1-rc3 The release mechanism is well-defined and documented, along with a
set of test procedures. Some (most?) of the tests are automated.
Now is the time of "soft" feature freeze: Generally, new features
must not be added. However, low-impact stuff, such as new
demuxer, decoder or input plugins are okay.
1-rc4 All user-visible strings should be enclosed in _() for translation.
The majority of config entries should have a proper help string.
Decision should be made, what messages to report on console and
what to put in the log. The config option naming is cleaned up.
1-rc5 There is a well-defined bug handling mechanism, even if it is a
paper based checklist on someones desk. 1.0-critical bugs are
This is the time of "hard" feature freeze: Only bug fixes are
(xine-ui should stabilize here, as well, maybe an 0.99.x or
1-alpha/beta/rc series to demonstrate this to end users)
1-rc6 Most compile warnings are fixed. Hopefully the translators have
finished their job as well. xine engine structures have been
looked over and some resorting/reorganizing has been done.
1-rc7 All known bugs should be fixed now. There is a big call for
testers. If they don't find any new bugs for at least a week,
we're there, and 1.0 will only differ in version number and a bit
of documentation. If they do find more bugs, we keep on fixing
them and making weekly rc releases until we get stable...
(xine-ui may have an 1.0 release any time after this point;
before, together with, or after xine-lib 1.0, depending on it's
own 1.0 release goals)
1.0 Due to historical reasons, the day 1.0 is released will be
given the name "christmas".
required for 1.0
- rc4: provide long language strings via XINE_META_INFO_FULL_LANG in
ogg demuxer and DVD input
- xine bug tracking system?
- add help strings for all post plugins
- review code for malloc()s that don't check their return type
(replace with xine_xmalloc() and make it abort() on failure,
if graceful failure handling is not possible)
- clean up MRL sytax of individual plugins and finish their documentation
- properly localize all user-visible strings
- rename config entries to a more consistent scheme
(providing automatic config file conversion, of course)
- sort out which messages should go to console and which to xine_log
- look over global structures and do some cleanup
- id3v2.3,v2.4 support
- "metainfo change" event
- double-check rate estimation in demux_mpeg/mpeg_block
- fix cook audio streaming
- better dvd error messages
- fix streaming of small files (e.g. http)
- rtp / rtsp support:
- rtsp support (currently only real's rtsp derivate is implemented)
- isma/apple streaming server support (mpeg4ip.sf.net)
- find out what all those people requesting rtp/multicast/... support
really want and how to implement it :)
- videolan streaming server support
- helix streaming server support
- detect broken savage drivers in health check, disable Xv in that case
- directfb video output plugin
- reduce memory footprint (e.g. variable fifo buffer sizes...)
- opengl video output plugin (matthias, sopra at stuttgart university)
- irix audio output plugin (matthias)
- use the safe string functions from xine_buffer.h in xine's own code
- rework the clock system, introducing clock and metronom speed settings
- allow more frame formats, automatic post plugin insertion for conversion
- frame-level seeking
- experiment with splint for code verification
- port to other OS (Net/OpenBSD, hurd ...?)
- MicroDVD input plugin
- video output synced to vertical blank
preferably without requiring
root privileges (XSync extension? MAS?)
- resolve issues with ffmpeg's live http streaming server
- videolan streaming support
- MAS support (http://www.mediaapplicationserver.net)
- nonlinear video editing and compositing frontend (michael) => enix
- stream format conversion frontend => enix
- Multiple DVD Subtitles displayed at the same time
- Move read cache code from libdvdnav into input_dvd.c
- Support DVD "Trick" modes. Super Fast forward/reverse
- detect raw ac3/a52 in MPEG Program streams.
- detect raw ac3/a52 in MPEG Transport streams that lack PAT/PMT tables.
- handle MPEG PES/PS streams with PES_packet_length = 0
- implement lots of audio and video processing filters as post plugins, e.g.
- colorspace conversion
- deinterlacing (already done)
- audio resampling
extend public api so post plugins are instantiated automatically when
needed, but keep explicit post plugin rewiring functions for advanced
video processing frontends
- see what kind of cooperation can be set up with other media player projects
- mike will look into moving xine's decoder api closer to the one
- check out other media players
- output, demuxer plugins