The road to xine-lib 1.0 ======================== this only relates to the xine engine (xine-lib), not xine frontends required for 1.0 ---------------- - update xine hacker's guide - update / rewrite xine HOWTO (stefan, guenter) - xine bug tracking system? - fix stream end detection for real streams - fix mpeg elementary stream playback (especially logo streams with only one frame) optional -------- - double-check rate estimation in demux_mgeg/mpeg_block - log/verbose output macros - fix cook audio streaming - better dvd error messages - fix streaming of small files (e.g. http) - rtp / rtsp support: - input_rtp - 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 - id3v2 (guenter) - directfb video output plugin - reduce memory footprint (e.g. variable fifo buffer sizes...) - bring dxr3 video out to work with aaxine (michael) - Multiple DVD Subtitles displayed at the same time (jcdutton) - Move read cache code from libdvdnav into input_dvd.c (jcdutton) - Support DVD "Trick" modes. Super Fast forward/reverse (jcdutton) - xvid decoder plugin - opengl video output plugin (matthias, sopra at stuttgart university) - irix audio output plugin (matthias) - support changing channel for V4L (event already defined in xine.h) Open Tasks ========== - port to other OS (Net/OpenBSD, hurd ...?) - MicroDVD input plugin - video output synced to vertical blank preferably without requiring root privileges (XSync extension? MAS?) - direct playback of vcd images - 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 xine's future ============= - Separation of lots of audio and video processing functionality into post plugins: - Separate plugins for software scaling, colour space conversion, postprocessing, deinterlacing, cropping, audio resampling, software volume etc. If it's convenient/efficient plugins can do more than one thing at the same time. - Decoders set flags suggesting what needs to be done, e.g. ffmpeg decoder might suggest postprocessing and cropping. - Output drivers advertise what features are supported natively and what limitations there are, e.g. scaling and maximum frame size for Xv. - Front end informs engine what processing the user requests, e.g. audio equaliser - xine engine automatically inserts a chain of plugins for carrying out the necessary processing. Doing this would: - Simplify decoder and output plugins, and therefore make developing new ones much easier - Reduce common code - Increase flexibility of the engine The api should also allow the automatic insertion to be overridden/controlled for applications such as video processing. - 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 ffmpeg uses - check out other media players - output, demuxer plugins