X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=TODO;h=a3b6b631eb56427169b9ba08ebf453c5f79a243c;hb=8235c2c5c5f16ad56d0bdcaf93af1e338595148e;hp=7e360b8438382183d045a2f7e98a2e0c26a09a41;hpb=a3c92b8fe71f3b308de5b1205ffc2ef7760764ff;p=vlc diff --git a/TODO b/TODO index 7e360b8438..a3b6b631eb 100644 --- a/TODO +++ b/TODO @@ -1,802 +1,679 @@ -# -# vlc tasks -# --------- -# -# +# VLC Todo # Difficulty values: Easy, Medium, Hard, Guru # # Urgency values: Wishlist, Normal, Important, Critical -Task: 0x5e -Difficulty: Hard -Urgency: Wishlist -Description: All-in-one interface window - Find a way for the interface plugin to provide video output capabilities - and have it display the stream in the same window. +Task +Difficulty: Easy +Urgency: Critical +Platform: any +Description: World domination + We need to dominate the world Status: Todo -Task: 0x5d +Task Difficulty: Guru -Urgency: Normal -Description: Win32 port - Win32 is probably the most common desktop platform, we should support it - as well. Besides, most students at Centrale use Windows and VideoLAN was - originally designed for them. -Status: Todo - -Task: 0x5c -Difficulty: Medium -Urgency: Wishlist -Description: Infrared support - Write a plugin which listens to the infrared port and sends appropriate - commands to the application. This can either be an interface plugin, or, - preferably, a new kind of interface-agnostic "command" plugin. -Status: Todo - -Task: 0x5b -Difficulty: Hard +Platform: any Urgency: Critical -Description: Fix the FreeBSD port - The FreeBSD port of vlc doesn't run, probably because of a pthread - issue. This should be investigated. +Description: Clock Synchro redesign +We need to adapt the clock synchro to work better with BOTH files and streams. Status: Todo -Task: 0x5a +Task Difficulty: Hard -Urgency: Wishlist -Description: Share stream information between vlc and vls - vls should send misc TS packets to let us know what the stream PID - contain, such as the language, or the subtitle palette. +Urgency: Critical +Platform: Mac OS X +Description: CoreAudio multichannel audio output. + Convert to AUHAL based sytem. +Still no info over S/PDIF output available. +Outstanding issues:
+ - G5 S/PDIF not working
+ - G5 PCM not working because S/PDIF is selected by default, even if not connected.
Status: Todo -Task: 0x59 -Difficulty: Hard -Urgency: Important -Description: Cope with vls/vlc clock jitter - The internal clocks of the server and the client are not assured to be - in perfect synchronization, which may be annoying when playing a movie. - Reduce this jitter by using a well-chosen filter. -Status: Done 1 May 2001 (henri) - -Task: 0x58 +Task Difficulty: Medium +Platform: Any Urgency: Critical -Description: Language and subtitles selection in network input - The vls will probably have to be modified as well. +Description: fix subtitle regressions +Multi-line subtitles are not aligned correctly.
+Text subtitles don't work with 32bpp rgb.
+Investigate behaviour of subpictures when pausing.
+Negative delaying broken
Status: Todo -Task: 0x57 -Difficulty: Guru -Urgency: Normal -Description: Full DVD navigation - Once the core DVD navigation features are ready (see item 0x52), port the - interface and video output modules so that they can handle it. -Status: Todo -Task: 0x56 -Difficulty: Hard -Urgency: Normal -Description: XVideo video output - XVideo is reported to work a bit better than the SDL wrapper on some - configurations. Modify the X11 plugin so that it supports XVideo. -Status: Done 1 Apr 2001 (shane) - -Task: 0x55 -Difficulty: Hard -Urgency: Critical -Description: Video output IV - The new video output should support subtitles both in software and hardware - YUV (see item 0x4d). One should also care about XVideo buffers, there is a - way to directly decode into them, which would improve performances. -Status: Todo - -Task: 0x54 -Difficulty: Hard -Urgency: Wishlist -Description: Hardware AC3 decoding - Some soundcards directly grok Dolby AC3. This would spare a lot of CPU time. -Status: Todo - -Task: 0x53 +Task Difficulty: Medium -Urgency: Critical -Description: Fix AC3 decoder - The AC3 decoder still has a few quality issues; fix them, and try to add - MMX support to it as well. +Platform: any +Urgency: Important +Description: Update matroska demux + Better Seeking Status: Todo -Task: 0x52 -Difficulty: Guru +Task +Difficulty: Easy to Difficult +Platform: Any +Urgency: Important +Description: Write some developer documentation +Perhaps a skeletal driver in each of the categories, what they need to +do, the design decisions, possibilities, or options that drivers in +a category might implement. If there is a canonical module for each +category or modules that show the range of options that might be mentioned +too. + +Task +Difficulty: Easy +Platform: Mac OS X Urgency: Normal -Description: DVD navigation core features - We need an interpreter for the DVD virtual machine to make it easier to - browse DVDs later. +Description: Streaming wizard + Make a Streaming wizard for OS X Status: Todo -Task: 0x51 +Task Difficulty: Easy +Platform: all Urgency: Normal -Description: Better subtitle color handling - The subtitle palette is pretty ugly for the moment, since we don't parse - the color information. Find it in the IFO file and pass the information to - the video output. +Description: configure overview of modules + configure should report what it will and what it won't build, after it is done running. Status: Todo -Task: 0x50 +Task Difficulty: Hard -Urgency: Critical -Description: Multi-angle multi-language support - Some DVDs have several languages encoded in the same video stream, we - need to properly parse them. -Status: Done 22 Apr 2001 (stef) - -Task: 0x4f -Difficulty: Hard -Urgency: Critical -Description: Fix all known DVD playback issues - A few DVDs are still reported not to work at all. Try to find what is - causing this, have a more robust DVD input, and list all discs reported - to work flawlessly to prevent bug regression. -Status: Todo +Urgency: Normal +Platform: any +Description: Dual window in embed mode +Windows taskbar reports two windows in the video embed mode. +Status: Done -Task: 0x4e -Difficulty: Hard -Urgency: Important -Description: Write stream zones support - For random access we need to know where stream descriptors are valid - and reside (essentially DVD plugin). -> Meuuh -Status: Done (stef) +Task +Difficulty: Guru +Urgency: Normal +Platform: any +Description: Multi-input +* Core support done
+* Many demuxers don't support it
+* Need GUI elements +Status: Assigned to fenrir -Task: 0x4d +Task Difficulty: Hard Urgency: Normal -Description: Write subtitles and stream information in YUV coordinates - ... so that they can be displayed even in "overlay" mode. +Platform: any +Description: make everything UTF-8 based + Convert everything that deals with strings to a UTF-8 based system. Not very difficult, but needs a lot of checking, testing and allows for easy breakage. Status: Todo -Task: 0x4c +Task +Difficulty: Medium +Urgency: Normal +Platform: any +Description: Rewrite the SAP parser + The SAP parser is very dirty at the moment, and needs a complete rewrite. + - caching support
+ - timeout support
+ - add meta-information to playlist
+ - session version support
+Status: Assigned to zorglub (80% done) + +Task Difficulty: Medium Urgency: Normal -Description: Update documentation - The input structures have undergone a major restructuration with - input-II. It might be a good idea to reflect thoses changes in the - documentation. +Platform: any +Description: Playlist II + A hierarchized playlist structure, eventually using a media library. +Think playlist within playlist, directory structures, SAP section, TV channels list, iTunes library like stuff etc. Thoughts and ideas (not up-to-date)
+70% done.
+Todo:
+- Core support
+ - * "Name finder"
+ - * "Protocol rollover" node
+ - *** Item moving/copying facilities
+ - * Ability to save playlist on quit
+ - ? Represent navigation structure as "fake items" ?
+ - Custom playlist format
+- Helper modules
+ - ** ASX and B4S parsers (see below)
+ - * Rewrite SLP announce discovery
+ - * Live directory representation
+- *** Implement in Skins 2 interfaces
+- wx implementation :
+ - *** Fix deadlocks
+ - ** Support item move/copy
+ - * Explorer view
+ - * Playlist preferences panel
+ - ** Improve iteminfo dialog
+Status: Assigned to zorglub + +Task +Difficulty: Easy +Urgency: Normal +Platform: any +Description: Improve bookmarks + - Put them in the input_item structure to have them persistent + - Add an input option to play the whole file but starting at a given bookmark Status: Todo -Task: 0x4b -Difficulty: Guru +Task +Difficulty: Easy Urgency: Normal -Description: Write AVI input plugin - .avi files can use MPEG codec, if this is the case it shouldn't be - hard to read those files -> Meuuh +Platform: any +Description: fix ASX playlist parser +Basically our asx parser is broken. It doesn't handle relative links. It should also URL encode the hrefs (spaces in the url need to be converted to %20 etc). protocol rollover, authors, title's etc etc aren't handled. See this for asx examples. It is still located in the old demux/m3u.c module instead of modules/demux/playlist/ Status: Todo -Task: 0x4a +Task Difficulty: Medium Urgency: Normal -Description: Write ES input plugin - We need to be able to read .mpg video streams, or .mp* audio streams. - More information -> Meuuh +Platform: any +Description: fix current muxers. +Our avi muxer doesn't produce valid files Status: Todo -Task: 0x49 +Task Difficulty: Easy -Urgency: Important -Description: Write a new buffer allocator - Avoid malloc()s by reusing the recently released packets. More - information -> Meuuh -Status: Done 16 Apr 2001 (asmax) - -Task: 0x48 -Difficulty: Hard -Urgency: Critical -Description: Fix audio synchro - With some audio plugins, the audio stream is late because of buffer - sizes. See what's wrong and fix it. +Urgency: Normal +Platform: any +Description: 24 bit LPCM +- Increasingly more DVDs use 24 bit LPCM sound. We should support it. Status: Todo -Task: 0x47 -Difficulty: Hard +Task +Difficulty: Easy Urgency: Normal -Description: Make decoders dynamically loadable +Platform: Mac OS X +Description: LPCM +The LPCM decoder outputs really small samples which aren't accepted properly by the macosx coreaudio resampler, causing VLC to not output any sound with many DVD's. A test sample that shows this effect on the mac is the Madonna clip. Status: Todo -Task: 0x46 +Task Difficulty: Hard Urgency: Normal -Description: Make input plugins dynamically loadable - With a probe() function, and stuff... -Status: Done 7 Feb 2001 (sam) +Platform: Mac OS X +Description: New OS X preferences + New preferences for Mac OS X. Current not suited for Mac Users and several +Pref. elements are broken (hotkeys and int with string desc.). +Status: Todo -Task: 0x45 -Difficulty: Guru +Task +Difficulty: Easy Urgency: Normal -Description: Write DVD plugin - We need a DVD plugin which read the device directly, calls DeCSS - (optional) and parse .ifo files. -Status: Done 8 Feb 2001 (stef) - -Task: 0x44 -Difficulty: Guru -Urgency: Important -Description: Write input_ext-intf.c - This file will provide functions which allow the interface to change - the pace of reading and change the position in the file. -Status: Done 8 Feb 2001 (Meuuh) - -Task: 0x43 -Difficulty: Medium -Urgency: Important -Description: Write TS support - The parser has already been back-ported, but it still lacks the - PSI parser, and currently the functions to read from the network - are yet to be written. -Status: Done 7 Mar 2001 (henri) +Platform: Mac OS X +Description: OS X bookmarks window +We miss a bookmarks window like the wxwidget one. +Status: Todo -Task: 0x42 +Task Difficulty: Medium -Urgency: Important -Description: Write input_netlist.c - We need an interface to create fixed-size packets (for instance - 188 bytes or 2 kB) and avoid using the system malloc(). -Status: Done 23 Jan 2001 (henri) +Urgency: Normal +Platform: Mac OS X +Description: Finish Mac Mozilla plugin +The Mac mozilla plugin needs some more work to be useable. Basic funtionality is working. However the video-output part needs some more work since it was crashing. See svn history for the old code. +Status: Halfway (stalled) -Task: 0x41 +Task Difficulty: Easy -Urgency: Important -Description: Write input_programs.c - We need a centralized manner of creating new programs, es, and - spawning new decoders. -Status: Done 20 Dec 2000 (Meuuh) +Urgency: Normal +Platform: any +Description: Controlling the mozilla plugin +The mozilla plugin needs to be better controllable (via javascript).
+- retrieve variable values.
+- open VLC media player
+- default html page to control the plugin
+- XUL controls
+(80% done) see:
+Javascript controls +XUL controls +MPlayer Mozilla plugin +Status: Assigned to zorglub + +Task +Difficulty: Easy +Platform: Win32, Linux +Urgency: Normal +Description: equalizer fixes + - Gray out "reset to defaults" for audio equalizer when disabled
+ - Once audio equalizer is disabled, it doesn't enable the first + try when you select from main menu. It only works a 2nd change + (enable flag not properly set?). + To have this work correctly, the best solution is to remove knowledge of + presets from the filter and give it to ... core ? +Status: Todo -Task: 0x40 +Task Difficulty: Medium -Urgency: Important -Description: Fix the PS plugin - The PS plugin should be able to recover from packet loss, to - read MPEG-1 .mpg files, and to pre-parse the stream (if possible) - to build the ES table. Check what's wrong and fix it. Now. -Status: Done 20 Dec 2000 (Meuuh) +Platform: Win32, Linux +Urgency: Normal +Description: wxWidgets fixes + - Rename wxWindows to wxWidgets
+ - Problems with slider (doesn't go where you click, keep updating while seeking +?)
+ - Reversed arrows +Status: Todo -Task: 0x3f -Difficulty: Easy -Urgency: Critical -Description: Enhance intf_*Msg - The intf_*Msg functions could be more clever : add "mymodule - warning/error:" and \n automatically. The new input already - uses such a behaviour, so we must hurry. It might be necessary - to modify all messages in all modules... -Status: Done 20 Dec 2000 (sam) - -Task: 0x3e +Task Difficulty: Guru -Urgency: Critical -Description: Fix backwards moves - Sometimes the frames seem to go backwards for a short period of - time. This is due to the output methods and is known to happen - with the x11 and SDL plugins. -Status: Done 27 Nov 2000 (Meuuh) +Urgency: Normal +Platform: Mac OS X +Description: SVCD support +libcdio needs to be ported to the Mac to support the cddax and vcdx modules for proper SVCD support +Status: Todo -Task: 0x3d -Difficulty: Easy +Task +Difficulty: Hard Urgency: Normal -Description: Have more statistics messages displayed - The vlc has structures to keep track of the interesting - events, but there is no way to print these structures. In stats - mode, we should print these structures regularly, or at quit - time (whichever is the more convenient). -Status: Done 27 Nov 2000 (Meuuh) - -Task: 0x3c -Difficulty: Easy -Urgency: Important -Description: Separate optimizations from debug mode - We sometimes want to have the debug mode (which writes an - interesting log of debug messages) along with the compiler - optimizations (which allow decoding of more than 2 fps). -Status: Done 18 Nov 2000 (Meuuh) +Platform: any +Description: Stream text subtitles + Find a a way to stream text subtitles, in TS and in RTP.
+ Needs testing and validating
+ Currently broken. +Status: 65% (fenrir) + +Task +Difficulty: Medium +Urgency: Normal +Platform: any +Description: RTSP server +Full implementation of a RTSP server. We already have a very basic implementation working but it does need a lot more work. See the following mail and mail. +Status: 90% -Task: 0x3b +Task Difficulty: Easy -Urgency: Important -Description: Write intf_WarnMsg and intf_StatMsg - We have intf_ErrMsg to display fatal errors, but warnings are - drowned in an ocean of unreadable intf_DbgMsg. Same for - statistics messages. -Status: Done 23 Nov 2000 (Stef) +Urgency: Normal +Platform: Win32/Linux +Description: V4L and dshow tuning support +We need an API that allows us to control the tuning of V4L and dshow TV cards. +Status: Todo (CryHavoc) -Task: 0x3a -Difficulty: Hard -Urgency: Important -Description: Support SDL Overlay - The SDL livrary has routines to use the video board to do the YUV - conversion, scaling and displaying. Using them will require a - partial rewrite of the video_output way of handling rendering - and displaying. -Status: Done 18 Dec 2000 (bozo and oct) - -Task: 0x39 +Task Difficulty: Medium +Platform: any Urgency: Wishlist -Description: Rewrite the font display routines - The current font display routines aren't powerful enough. There - should be a way to display a big String at once, without needing - to compute the size of the string and its coordinates beforehand. +Description: RAR/ZIP/... access +An access module that would be able to uncompress compressed files. Status: Todo -Task: 0x38 -Difficulty: Medium -Urgency: Important -Description: Make aout eat less CPU - When the vlc is launched without a stream, the audio_output thread - eats all memory, probably because there is no msleep() when no data - is available in the audio_output queue. -Status: Done (henri) - -Task: 0x37 -Difficulty: Guru -Urgency: Important -Description: Fix motion compensation bug - The motion compensation still has a small bug which can be well - noticed when there is a sudden color change, a few blocks remain - visible on the screen. -Status: Done 27 Aug 2000 (Meuuh) - -Task: 0x36 -Difficulty: Medium -Urgency: Normal -Description: Enhance the interface - . Finish the new keyboard input interface to support - interfaces that allow modifiers. This will allow the SDL to run - properly. - . Here are some details: - Allow any interface to have its own set of keys: - - allow the 'discovery' of the main interface of the binding - created by each interface: - what key ("control-C", what action (INTF...)) - - extend the interface by a specific struct (meta+modifier+ascii) - - implement an interface specific getKey function. -Status: Todo - -Task: 0x35 -Difficulty: Medium -Urgency: Important -Description: Fix plugins namespace problem - When compiling a plugin, all symbols seem to be exported, while we - actually just need GetConfig and a few other things: the other - functions are accessed through function pointers. -Status: Done 10 Jan 2001 (sam) - -Task: 0x34 +Task Difficulty: Medium -Urgency: Important -Description: Fix plugin autoloading - At the moment, plugins to be detected are hardcoded in the code. We - need a better method to get all available plugins, by listing all the - files in selected directories. -Status: Done 7 Jan 2001 (sam) +Platform: any +Urgency: Wishlist +Description: DVTS support +DV over RTP support. See DVTS homepage +Status: Todo -Task: 0x33 +Task Difficulty: Hard -Urgency: Important -Description: Real plugin API - We need some functions to register plugins, automatically detect which - ones are the most appropriate, as well as ways to express that plugin - A won't work unless plugin B is activated as well. -Status: Done 7 Jan 2001 (sam) +Platform: WinCE +Urgency: Wishlist +Description: WinCE port finalizing +The WinCE port is already quite functional but we still miss a GAPI video output (GDI works but is slow). +Some code already exists for that (http://sourceforge.net/projects/vlcpocketpc/) and would need to be imported into the VLC source tree. +Downloads should be added to the main vlc download page. We need an icon for this. +Status: Assigned to MixerAnderson and gibalou -Task: 0x32 +Task Difficulty: Medium -Urgency: Important -Description: Enable compiled-in plugins - Some plugins may have their place inside the main program, such as the - dummy plugin, or the beos plugin under BeOS. We should allow to link - them with the main app. -Status: Done 15 Apr 2001 (sam) +Urgency: Wishlist +Platform: any +Description: Full blown OSD system + In the line of freevo etc. + (Checkout the correct svn branch) +Status: 75% done. Assigned to thedj, jpsaman and yoann -Task: 0x31 +Task Difficulty: Easy -Urgency: Normal -Description: Optimize SPU rendering - There is an if() in the SPU display routine to double lines when needed, - whiwh is rather inefficient. It should be removed and put outside - the main loop. -Status: Done 26 Aug 2000 (henri) +Urgency: Wishlist +Platform: any +Description: GSM decoder +The Toast implementation. +Status: Todo -Task: 0x30 -Difficulty: Hard -Urgency: Important -Description: SPU error recovery - The SPU decoder does not behave very well when a packet is missed or when - it gets the stream at the middle of an SPU packet. Make it more error- - friendly. -Status: Done 26 Feb 2001 (sam) +Task +Difficulty: Easy +Urgency: Wishlist +Platform: any +Description: AMR decoder +We will need to find one that isn't based on the reference code. +Status: Todo -Task: 0x2b -Difficulty: Hard +Task +Difficulty: Easy Urgency: Wishlist -Description: Shoot the TODO list on the web site - The TODO list on the web site hasn't been updated for months. We may - wonder then why the hell to we put a TODO list on the web site ? Maybe - we'd better shoot it in the head, that would make its suffering end. -Status: Done 5 Mar 2001 (sam) +Platform: any +Description: MusePack decoder +Need I say more? MPCdec. We are awaiting MPC 7.5 or 8.0 specification which should split the codec from the fileformat. +Status: Todo -Task: 0x2a -Difficulty: Medium -Urgency: Normal -Description: ALSA audio output support - ALSA is the Advanced Linux Sound Architecture and is believed to be - technically superior to the usual OSS support found in the Linux kernel. -Status: Done (henri) +Task +Difficulty: Easy +Urgency: Wishlist +Platform: any +Description: APE decoder +Need I say more? Monkeys Audio (APE) website. This codec is currently not GPL compatible. We will have to await a GPL compatible implementation of this. +Status: Todo -Task: 0x29 -Difficulty: Guru +Task +Difficulty: Easy Urgency: Wishlist -Description: Support for RTP - RTP is a transport protocol for realtime applications. MPEG1 and MPEG2 - versions of RTP are described in RFCs 2038 and 2250. RFCs 1889 (RTP) - and 2508 (compressed RTP) can be interesting as well. +Platform: any +Description: flash video playing/streaming +A flash video muxer and demuxer. FFMPEG can already output flash video. a waste not to make use of that capability. Status: Todo -Task: 0x28 +Task Difficulty: Medium Urgency: Wishlist -Description: Draw a font / support color fonts - The vlc currently uses an ugly font to display its data on the output - window, and we have a slow hack to make it outlined. Writing our own - font, or adding support for color fonts, would make us gain some time. +Platform: any +Description: Closed Captions/Teletext support +In order to conform to international regulations, VLC needs to be able to decode the closed captions in TV, DVD, DVB and HDTV video. V4L has a CC api, DVD and HDTV usually have them in a seperate stream.
+ - Use ZVBI library for VBI decoding and image generation
+ - ESTI EN 300 472 for EBU teletext support in DVB
+Perhaps look at Xawtv, dvbtext and other vbi, vtx systems. Status: Todo -Task: 0x27 +Task Difficulty: Medium -Urgency: Important -Description: Layer 2 mono support - The vlc doesn't play layer 2 mono yet. We need it since a few of our - streams are in this audio format. -Status: Done 18 Dec 2000 (sam) - -Task: 0x26 -Difficulty: Hard Urgency: Wishlist -Description: MP3 support - The vlc cannot play MPEG1/2 layer 3 yet. It might be nice to fix that. +Platform: any +Description: DVB info in NIT +We need to get the information of a DVB stream that are in the NIT (current program, next program, ...) Status: Todo -Task: 0x25 -Difficulty: Hard -Urgency: Normal -Description: Support for unencapsulated streams - Some streams are not encapsulated in PES/PS or TS packets, which the - vlc currently requires to properly decode a stream. Adding support for - this would require to rewrite the input code, and probably make it a - plugin. +Task +Difficulty: Medium +Urgency: Wishlist +Platform: any +Description: IceCast/ShoutCast serving +This would be a nice thing for the sake of completeness of VLC's streaming capabilities. Status: Todo -Task: 0x24 -Difficulty: Guru +Task +Difficulty: Easy Urgency: Wishlist -Description: Ogg/Vorbis audio decoder support - The Ogg/Vorbis audio format is a free alternative to the patent-encumbered - MP3 format. The system packets are quite different than the MPEG ones, so - adding support for it would require a lot of code rewrite. +Platform: any +Description: More/Better Picture filters +There are several picture filters (blend, scale), but we can use more (screenshot, crop, move..) We probably need on the fly picture filter insertion as well. (and also not-on-the-fly) Status: Todo -Task: 0x23 +Task Difficulty: Guru Urgency: Normal -Description: Xv video output support - XFree 4.0 provides the Xv interface which can do hardware YUV on supported - hardware. Unfortunately, there doesn't seem to be much documentation - available. -Status: Done 1 Apr 2001 (shane) - -Task: 0x22 +Platform: any +Description: Vout redesign +- vout needs distinct splitting into vout_core, vout_window, pic_filter, vout_filter
+- needs 'assistance' vout windows (clone filters, goom) etc.
+- 4:3, 16:9, freeform Aspect Ratio
+- cropping and padding (do at OS level, but provide a core call to set it up and configure).
+- OSD at window resolution instead of video res (secondary vout channel)
+- a OSD needs to be bound to a vout stream (no subs on goom vout)
+- Use OS native calls where appropriate, with 'C' fallbacks. (OpenGL, Quartz, DirectX already has many of the funtionalities we seek and sometimes they are a lot faster too).
+- better hotkeys integration +Status: Todo + +Task Difficulty: Medium -Urgency: Normal -Description: SDL video output support - The Simple DirectMedia Layer library is a generic API that provides - YUV acceleration on some platforms. More information can be found - on http://www.devolution.com/~slouken/SDL/ -Status: Done 21 Aug 2000 (octplane) +Urgency: Wishlist +Platform: any +Description: Subtitle work +- better SSA support with postioning, colors etc.
+- Fix subtitles dialogs (mac done) +Status: Todo -Task: 0x21 -Difficulty: Medium -Urgency: Normal -Description: Implement pause - There is no real `pause' command yet. Pausing just stops - displaying and sound playback, but the streams continues to - be decoded. One will have to do a file implementation as - well as a network implementation. -Status: Done 8 Feb 2001 (Meuuh) - -Task: 0x20 -Difficulty: Hard -Urgency: Important -Description: Rewrite input for Program Stream files - Currently when we read a PS file, it is first translated to TS - because we first had only PS support. Now time has come to get - rid of this ugly kludge and integrate a proper PS input. -Status: Done 5 Dec 2000 (Meuuh) because of Input II +Task +Difficulty: Easy +Urgency: Wishlist +Platform: any +Description: Automatic charset recognition +See if we can use ENCA for automatic charset recognition on subtitle files. Might simplify usage of sub files a lot? Might require complete file to be parsed by ENCA before good result is returned? +Status: Todo -Task: 0x1f -Difficulty: Hard -Urgency: Normal -Description: DeCSS and DVD ioctls - The vlc needs the DVD ioctls support as well as the integration - of DeCSS to play DVDs properly. The person doing this should - probably not live in a country where DeCSS has been ruled illegal. -Status: Done 20 Jan 2001 (stef) +Task +Difficulty: Guru +Urgency: Wishlist +Platform: Mac OS X +Description: skins2 +Port VLC skins to Objective C++ and OSX. Also requires the intf to be a dialog provider.
+Hints:
+ - In a first step, the need for a dialog provider can be easily omitted.
+ - In theory, only a small amount of classes (6 or so) must be written for OS X, implementing predefined interfaces.
+ - The code of FLTK could be really helpful to identify the correct functions and see how to use them. +Status: Todo -Task: 0x1e +Task Difficulty: Hard Urgency: Wishlist -Description: ASCII-art output - For the ones who don't know how to waste their time, they can - try to do an ASCII-art output plugin. +Platform: any +Description: informing user. +Implement a system to:
+ - Alert the user of critical errors (cannot play file). Should be blocking.
+ - Ask the user a question (Are you sure? or Try to Fix index of avi? or Overwrite File?)
+ - Inform the user, without disturbing him. (Buffering stream). This might require a displaytime or something. Because how do we know how long this information should be displayed? Also think of buffering 0-100%
+ - present a user/passwd dialog when we get an authentication failure on a stream.
+Implementation ideas:
+ - via variables and callbacks. How to give answers back ?
+ - via p_intf->pf_* functions.
Status: Todo -Task: 0x1d +Task Difficulty: Hard -Urgency: Normal -Description: LPCM decoder - The LPCM decoder is full of stubs, it only parses the stream - but does not decode it. Fix this. -Status: Done 12 Jun 2001 (henri) +Urgency: Wishlist +Platform: any +Description: Full H323 Videoconferencing +VLC isn't really suited for this yet, because it introduces quite large latencies. This should be fixed before the H323 can ever come close to working in VLC. +We also will need SIP support. A first implementation using a custom protocol is being made. +Status: Todo -Task: 0x1c -Difficulty: Guru -Urgency: Important -Description: Fix field pictures support - Some MPEG2 streams are interleaved, and the vlc does not support - this very well. Adding support for them requires an excellent - knowledge of the MPEG2 papers. -Status: Done 23 Aug 2000 (Meuuh) +Task +Difficulty: Hard +Urgency: Wishlist +Platform: Mac OS X +Description: QuickTime capturing +Allow capturing from QuickTime Firewire, USB and PCI devices. +Possibly see: Bug 416 +Status: Todo -Task: 0x1b +Task Difficulty: Hard Urgency: Wishlist -Description: Modularize decoder - Make the decoder a plugin, so that two versions can coexist - without recompilation (MMX and non-MMX). -Status: Done 16 Jan 2001 (sam) +Platform: Windows +Description: ActiveX control for VLC + We need an ActiveX version of VLC for IE integration +Status: Done by damienf -Task: 0x1a +Task Difficulty: Easy -Urgency: Normal -Description: Make interface more responsive - When in "waiting for stream" mode, the interface is refreshed - every 5 seconds. This is too long, and can be confusing for - the user. Make it refresh at least after a keyboard/mouse event. -Status: Done 28 Aug 2000 (oct) - -Task: 0x19 -Difficulty: Hard -Urgency: Normal -Description: Support MP1 and MP3 - The vlc does not support all MPEG1 audio formats yet, nor - does it support MPEG1/2 layer 3. -Status: Done 18 Dec 2000 (sam) but see 0x25 - -Task: 0x18 -Difficulty: Guru Urgency: Wishlist -Description: Split interface/video_output - The interface and the vout modules are too dependant, which - makes it impossible to run the Glide output with the Gnome - interface for instance. This will require a major rewrite of - the interface, and a solid knowledge of how the vlc internals - work. -Status: Done 11 Feb 2001 (sam) +Platform: any +Description: export paramaters of an input + Export the Media Info of a file/source to a standard xml file for use by other applications. Possibly combine with file "probe'ing".
+ - AR
+ - size
+ - bitrate
+ - resolution
+ - codecs, etc.
+Status: Todo -Task: 0x17 +Task Difficulty: Hard -Urgency: Normal -Description: Add 24bpp YUV - There is no 24bpp support yet. Add it, either in MMX - or in C. +Urgency: Wishlist +Platform: any +Description: http cookies +For protected VoD (http://a-select.surfnet.nl) Status: Todo -Task: 0x16 -Difficulty: Medium -Urgency: Important -Description: Fix 8bpp YUV - The 8bpp YUV function is broken, there is some serious - alpha blending, and it scales pretty badly. Fix it. -Status: Done 14 Aug 2000 (sam) +Task +Difficulty: Easy +Urgency: Wishlist +Platform: any +Description: Progressive download playing +Allow application/vlc mimetype to launch VLC instead of plugin for video file. +Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP. +Status: Todo -Task: 0x15 +Task Difficulty: Medium -Urgency: Critical -Description: Fix input_file exit - input_file does not exit cleanly when the file is finished, - which makes it impossible to quit the vlc. Fix it. -Status: Done 21 Aug 2000 (sam) +Urgency: Wishlist +Platform: any +Description: rendezvous announces +Apple released the rendezvous code under a Open Source license now. perhaps it can be used. (It's OpenTalk now btw).
+Note: the licence is probably not DFSG compatible. Alternative mDNS implementations exist
+DMAP protocol announce for videos. +Status: Partly done (DAAP only) + +Task +Difficulty: Easy +Urgency: Wishlist +Platform: any +Description: SDL vout cleaning +The SDL vout hasn't been updated for a long while. It needs some cleaning up. New hotkeys support, better resizing, alignment etc. Even though SDL isn't used much, this vout shouldn't disappear, because it is a crossplatform API. +Status: Todo -Task: 0x14 -Difficulty: Guru +Task +Difficulty: Easy Urgency: Wishlist -Description: Debug MPEG1 video - The MPEG1 support has been done, but it still crashes. -Status: Done 23 Oct 2000 (Meuuh) +Platform: any +Description: Electronic Program Guide +Integrate a EPG system into VLC. +Status: Todo (CryHavoc) -Task: 0x13 +Task Difficulty: Hard Urgency: Wishlist -Description: Support MPEG1 timecodes - The vlc can parse an MPEG1 system stream, but the parsed - PCR values do not seem to be correct. Check what's wrong. -Status: Done 5 Dec 2000 (Meuuh) because of Input II +Platform: any +Description: a Time Shifting module +This module should create TiVo like capabilities for VLC. +Status: Todo (CryHavoc) -Task: 0x12 +Task Difficulty: Medium -Urgency: Important -Description: Fix 32bpp MMX YUV - The MMX 32bpp YUV function is buggy. -Status: Done 13 Aug 2000 (sam) - -Task: 0x11 -Difficulty: Hard -Urgency: Normal -Description: Optimize YUV scaling - The YUV scaling method does not seem very efficient. Perhaps - some CPU cycles can be gained by saving some buffers. +Urgency: Wishlist +Platform: any +Description: UDP packet reordering +Currently we ignore every packet that is too late and just wait for a fresh one. +It would be nice to be able to reorder the packets in the buffer to prevent degredation of the signal. Status: Todo -Task: 0x10 +Task Difficulty: Easy -Urgency: Normal -Description: Draw a vlc icon - The vlc needs an icon. It should render well in 48x48 but - can be any size. -Status: Done 11 Apr 2001 (sam) +Urgency: Wishlist +Platform: any +Description: Make vlm more user friendly (setup etc) +vlm is kinda a pain to setup if you are not entirely experienced with A/V and streaming or VLC for that matter.
+It can be heavily improved by updating the vlm http interface. Using seperate fields for the need paramters of a schedule/source.
+Also, GUI implementation. +Status: Todo -Task: 0x0f +Task Difficulty: Easy -Urgency: Normal -Description: Better black&white support - When in B&W mode, the chroma part of pictures is decoded, - but it would be more efficient not to decode at all when - the video decoder knows it does not need to. -Status: Done 25 Oct 2000 (reno) +Urgency: Wishlist +Platform: any +Description: Protocol rollover +It would be cool if VLC supported something like a protocol rollover mechanism, much like WM server has as well. Multicast, UDP, TCP, HTTP etc. +However, how spec compliant can this be?
+We require a timeout on udp connecting. Beyond this a playlist file can be used to do a form of protocol rollover when one of the links fails ( or implement this in the new style playlist system [only advance index on failure]). +Status: Todo -Task: 0x0e -Difficulty: Easy +Task +Difficulty: Hard Urgency: Wishlist -Description: Rename channel names - Channels should start from 1 (not 0) like on a VCR or TV, - and Channel 0 should be renamed to "Playlist" or similar. +Platform: any +Description: NAT issues +Find a way to deal with clients behind a NAT. Multicast and RTSP work 'poorly' in these setups. NATP2P, STUN, UDP hole punching, other techniques ???? +Protocol rollover can be a solution for a lot of these issues. +Use full DNS names in SDP Status: Todo -Task: 0x0d +Task Difficulty: Medium -Urgency: Important -Description: Framebuffer exit bug - When the vlc abnormally exits in framebuffer mode, it leaves - the console in an unusable state. This does not happen on - the Matrox framebuffer, but it does on the VESA one. -Status: Done 18 Feb 2001 (sam) +Urgency: Wishlist +Platform: any +Description: Gstreamer and Helix API integration +See if you can support GStreamer and helix plugins in one way or another. +Status: Todo -Task: 0x0c -Difficulty: Hard -Urgency: Critical -Description: Fix synchro - The synchronization algorithm sucks a bit. While it is - quite efficient on frameskipping on slow machines, it - is not smart enough on fast machines and does not detect - when it has enough time for a frame. Perhaps a better - handling of the dates might help. -Status: Done 13 Nov 2000 (Meuuh) - -Task: 0x0b -Difficulty: Medium -Urgency: Important -Description: Allow to force synchro - Add a --force-synchro option to bypass the auto-adaptative - algorithm present in the vlc. Options should allow displaying - only I frames, only I and P, or all frames, or some more - fancy stuff such as half the Bs. -Status: Done 8 Aug 2000 (sam) - -Task: 0x0a -Difficulty: Medium -Urgency: Important -Description: Do separate packages - The plugins can be compiled with specific libraries, such - as Gnome, GGI, Esound. Putting all of them in the same - package would require a lot of useless dependencies, thus - one should do separate packages: a core "vlc" package, and - "vlc-fb", "vlc-ggi", "vlc-esd" packages depending on the - core package. -Status: Done 15 Aug 2000 (sam) - -Task: 0x09 -Difficulty: Easy -Urgency: Normal -Description: Get rid of dumb vlc aliases - When compiling the vlc, some symlinks to the main app - are created, such as gvlc, ggivlc, etc. Actually this - might confuse the user, so they should be removed, - except perhaps gvlc and fbvlc which follow a usual - naming scheme. -Status: Done 8 Aug 2000 (sam) - -Task: 0x08 +Task Difficulty: Easy -Urgency: Important -Description: Get rid of floating instructions - Mixing floating instructions and MMX is seldom a good idea, - it might be interesting to remove all floating instructions - in a single thread. The audio decoders are of course not - concerned by this task. -Status: Done (sam) - -Task: 0x07 -Difficulty: Hard -Urgency: Critical -Description: Fix VDEC_SMP segfaults - When compiled to support SMP, the vlc segfaults. The synchro - code lacks locks, but there might be bugs elsewhere as well. -Status: Done 16 Nov 2000 (Meuuh) - -Task: 0x06 -Difficulty: Guru -Urgency: Important -Description: Optimize video parser - The video parser has some speed issues currently unexplained: - even though most functions are inlined, it keeps eating more - CPU than it should. This has to be investigated. -Status: Done 5 Dec 2000 (Meuuh) because of Input II +Urgency: Wishlist +Platform: any +Description: Gnome-vfs support +For integration with smb, sftp and other file sharing/mounting methods +Status: Todo -Task: 0x05 -Difficulty: Easy -Urgency: Important -Description: Backport vlms input - The vlc uses the same file input code as the vlms (VideoLAN - Mini Server) which has been much improved. Someone should - port modifications done to the vlms back to the vlc. -Status: Done 5 Dec 2000 (Meuuh) because of Input II +Task +Difficulty: Hard +Platform: any +Urgency: Wishlist +Description: Matroska muxer + We need one :) +Status: Todo -Task: 0x04 +Task Difficulty: Medium -Urgency: Normal -Description: Get rid of vlc.channels - The file vlc.channels should be removed and information - found in it put either into ~/.vlcrc or in another rc - file. Note that this file can be modified by the vlc. +Platform: any +Urgency: Wishlist +Description: TTA decoder + TTA is said to be a fast en good lossless codec. Opensource library + availabe: http://tta.corecodec.org/ Status: Todo -Task: 0x03 -Difficulty: Hard -Urgency: Important -Description: Playlist API - Currently only files given in the command line are played, - one after the other. We need a smarter way to handle this, - through AddFile(), MoveFile(), etc. functions. input_file - has to be modified to support this as well. -Status: Done 8 Feb 2001 (sam) - -Task: 0x02 +Task Difficulty: Medium -Urgency: Normal -Description: Better Gnome interface - The Gnome interface has many stubs and is actually rather - unfunctional. Someone should make the buttons work when - the appropriate hooks exist. -Status: Done 12 Feb 2001 (sam) +Platform: any +Urgency: Wishlist +Description: Option to automatically deinterlace when needed + Mkv stores wether a video track is interlaced in the traxk descriptor + libmpeg2 etc output this information in the header AND on a per-picture basis +Status: Todo + +Task +Difficulty: Easy +Platform: any +Urgency: Wishlist +Description: UDF decoder +Support for the new XML based subtitle format called UDF +Status: Todo -Task: 0x01 +Task Difficulty: Hard +Platform: any Urgency: Wishlist -Description: MGA YUV - The Matrox acceleration for the vlc does not work yet, - though there are initialization routines in the code. +Description: Faster deinterlacing +Our deinterlacers are relatively slow. DScaler has the best Soft deinterlacers out there. +Unfortunatly it is very Win32 focused. Status: Todo -Task: 0x00 +Task Difficulty: Medium +Platform: any Urgency: Wishlist -Description: Splash screen - The vlc needs a splash screen with a vlc logo, instead of - the "waiting for stream" message. +Description: More service discovery modules +- Port UPnP support from http://sourceforge.net/project/showfiles.php?group_id=89768
+- libhal based discovery (should be able to find cd,dvd,capture cards,etc etc
+- Perhaps a generalized webpage parser (use user supplied templates to parse + streams from popular websites ) Status: Todo +Task +Difficulty: Medium +Platform: any +Urgency: Wishlist +Description: Autoselect a track based on preferred language +Problems might exist with formats that don't have headers? +Most part easy to do, because the language info is stored in the ES format structs these days. +Status: Todo + +Task +Difficulty: Easy +Platform: win32 +Urgency: Wishlist +Description: file filters in the open dialog +Have default filters in the open dialog. like: +All files
+Sound Files( .mp3, .ogg, .wav, .m4a, .m4p)
+Video Files( .avi, .mkv, .mov, .mpg, .m2v, etc)
+Subtitle Files( .idx, .sub, .utf, .srt)
+Status: Todo + + +# Do not remove me +Task