known bugs ========== - frame allocation problem with h264 streams using > 15 reference frames - our faad2 has problems with 5.1 streams. faad2 cvs is GPL incompatible. - dvdnav time search function does not use the time table, but interpolates only cell times - crash with RV10 streams requested/planned features ========================== - advanced audio processors - audio normalization - crossfading - high quality overlay blending / OSD (eg. Jason Tackaberry's advanced BGRA blend plugin) - synchronized playback between multiple machines - high quality sound resampling (use libsamplerate / secret rabbit code) - "synchroneous post plugins" (post plugins behind the output fifo) - move pvr and v4l_adjust_realtime_speed routines to xine engine so it can be used by any input plugin. the following text is kept from pre-1.0 times - we must check what is still relevant ==================================================================================== optional -------- - properly localize all user-visible strings - 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: - 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 - 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) beyond 1.0 ---------- - 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 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?) - 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 xine's future ============= - implement lots of audio and video processing filters as post plugins, e.g. - scaling - colorspace conversion - deinterlacing (already done) - audio resampling - compressor ... 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 ffmpeg uses - check out other media players - output, demuxer plugins