2 # Difficulty values: Easy, Medium, Hard, Guru
4 # Urgency values: Wishlist, Normal, Important, Critical
10 Description: World domination
11 We need to dominate the world
18 Description: Clock Synchro redesign
19 We need to adapt the clock synchro to work better with BOTH files and streams.
26 Description: CoreAudio multichannel audio output.
27 Convert to <a href="http://www.mat.ucsb.edu:8000/CoreAudio/108">AUHAL</a> based sytem.
28 Still no info over S/PDIF output available.
29 Outstanding issues:<br />
30 - G5 S/PDIF not working<br />
31 - G5 PCM not working because S/PDIF is selected by default, even if not connected.<br />
38 Description: Update matroska demux
46 Description: proper DVD controls
47 Most importantly a proper button that will take you straight to the DVD menu. But also, next/prev chapter should be integrated with next/prev playlistitem.
52 Platform: Linux, Win32, Mac OS X
54 Description: Streaming wizard
55 Finish the streaming wizard (85% finished)<br />
56 The mac version is at 0%
57 Status: Assigned to zorglub
63 Description: configure overview of modules
64 configure should report what it will and what it won't build, after it is done running.
71 Description: Dual window in embed mode
72 Windows taskbar reports two windows in the video embed mode.
79 Description: External audio file playing
80 Allow several access from an input thread to allow for multi-input<br />
81 (90% done) Add GUI elements
82 Status: Assigned to fenrir
88 Description: make everything UTF-8 based
89 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.
96 Description: Rewrite the SAP parser
97 The SAP parser is very dirty at the moment, and needs a complete rewrite.
98 - caching support<br />
99 - timeout support<br />
100 - add meta-information to playlist<br />
101 - session version support<br />
102 Status: Assigned to zorglub (80% done)
108 Description: Playlist II
109 A hierarchized playlist structure, eventually using a media library.
110 Think playlist within playlist, directory structures, SAP section, TV channels list, iTunes library like stuff etc. <a href="http://sierra.via.ecp.fr/~zorglub/vlc/playlist.txt">Thoughts and ideas (not up-to-date)</a><br />
114 - *** Improve random mode and fix loop<br />
115 - * "Name finder"<br />
116 - * "Protocol rollover" node<br />
117 - *** Item moving/copying facilities<br />
118 - * Ability to save playlist on quit<br />
119 - ? Represent navigation structure as "fake items" ? <br />
120 - Custom playlist format<br />
121 - Helper modules<br />
122 - ** ASX and B4S parsers (see below)<br />
123 - * Rewrite SLP announce discovery<br />
124 - * Live directory representation<br />
125 - *** Implement in MacOS X and Skins 2 interfaces<br />
126 - wx implementation :<br />
127 - *** Investigate Win32 crash<br />
128 - ** Support item move/copy<br />
129 - * Explorer view<br />
130 - * Cleverer update using i_serial<br />
131 - * Playlist preferences panel<br />
132 - ** Improve iteminfo dialog<br />
133 Status: Assigned to zorglub
139 Description: Improve bookmarks
140 - Put them in the input_item structure to have them persistent
141 - Add an input option to play the whole file but starting at a given bookmark
147 Platform: Win32, Linux
148 Description: DVD controls panel
149 A small panel that would popup (below the slider, for example) when playing
150 a DVD with controls such as "up, down, right, left, next chapter, prev chapter, back to menu, ..."
157 Description: fix ASX playlist parser
158 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 <a href="http://www.meetnewplayers.com/bend/Windows%20Media%20-%20Fun%20with%20asx%20files2.htm">this</a> for asx examples. It is still located in the old demux/m3u.c module instead of modules/demux/playlist/
165 Description: fix current muxers.
166 Our avi muxer doesn't produce valid files
173 Description: 24 bit LPCM
174 - Increasingly more DVDs use 24 bit LPCM sound. We should support it.
182 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.
189 Description: Rework of the preferences
190 * New information in preferences for a rework of how preferences are sorted in interfaces
192 See http://www.via.ecp.fr/via/ml/vlc-devel/200409/msg00409.html
193 Status: Assigned to zorglub
199 Description: New OS X preferences
200 New preferences for Mac OS X. Current not suited for Mac Users and several
201 Pref. elements are broken (hotkeys and int with string desc.).
208 Description: OS X bookmarks window
209 We miss a bookmarks window like the wxwidget one.
216 Description: Finish Mac Mozilla plugin
217 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.
218 Status: Halfway (stalled)
224 Description: Controlling the mozilla plugin
225 The mozilla plugin needs to be better controllable (via javascript). <br />
226 - retrieve variable values.<br />
227 - open VLC media player<br />
228 - default html page to control the plugin<br />
230 (80% done) see:<br />
231 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/plugin/vlc.html">Javascript controls</a>
232 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/xul/">XUL controls</a>
233 <a href="http://mplayerplug-in.sourceforge.net/">MPlayer Mozilla plugin</a>
234 Status: Assigned to zorglub
238 Platform: Win32, Linux
240 Description: equalizer fixes
241 - Gray out "reset to defaults" for audio equalizer when disabled<br />
242 - Once audio equalizer is disabled, it doesn't enable the first
243 try when you select from main menu. It only works a 2nd change
244 (enable flag not properly set?).
249 Platform: Win32, Linux
251 Description: wxWidgets fixes
252 - Rename wxWindows to wxWidgets<br />
253 - Problems with slider (doesn't go where you click, keep updating while seeking
262 Description: SVCD support
263 libcdio needs to be ported to the Mac to support the cddax and vcdx modules for proper SVCD support
270 Description: Stream text subtitles
271 Find a a way to stream text subtitles, in TS and in RTP.<br />
272 Needs testing and validating
279 Description: RTSP server
280 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 <a href="http://via.ecp.fr/via/ml/streaming/200408/msg00068.html">mail</a> and <a href="http://via.ecp.fr/via/ml/streaming/200410/msg00002.html">mail</a>.
286 Platform: Win32/Linux
287 Description: V4L and dshow tuning support
288 We need an API that allows us to control the tuning of V4L and dshow TV cards.
289 Status: Todo (CryHavoc)
295 Description: RAR/ZIP/... access
296 An access module that would be able to uncompress compressed files.
303 Description: DVTS support
304 DV over RTP support. See <a href="http://www.sfc.wide.ad.jp/DVTS/">DVTS homepage</a>
311 Description: WinCE port finalizing
312 The WinCE port is already quite functional but we still miss a GAPI video output (GDI works but is slow) and an interface.
313 Some code already exists for that (http://sourceforge.net/projects/vlcpocketpc/) and would need to be imported into the VLC source tree.
314 Downloads should be added to the main vlc download page. We need an icon for this.
315 Status: Assigned to MixerAnderson
321 Description: Full blown OSD system
322 In the line of freevo etc.
323 Status: Assigned to thedj, jpsaman and yoann
329 Description: GSM decoder
330 The <a href="http://kbs.cs.tu-berlin.de/~jutta/toast.html">Toast</a> implementation.
337 Description: AMR decoder
338 We will need to find one that isn't based on the reference code.
345 Description: MusePack decoder
346 Need I say more? <a href="http://www.hydrogenaudio.org/index.php?showtopic=21775&">MPCdec</a>. We are awaiting MPC 7.5 or 8.0 specification which should split the codec from the fileformat.
353 Description: APE decoder
354 Need I say more? <a href="http://www.monkeysaudio.com/">Monkeys Audio (APE)</a> website. This codec is currently not GPL compatible. We will have to await a GPL compatible implementation of this.
361 Description: flash video playing/streaming
362 A flash video muxer and demuxer. FFMPEG can already output flash video. a waste not to make use of that capability.
369 Description: Closed Captions/Teletext support
370 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.<br />
371 - Use ZVBI library for VBI decoding and image generation<br />
372 - ESTI EN 300 472 for EBU teletext support in DVB<br />
373 Perhaps look at Xawtv, dvbtext and other vbi, vtx systems.
380 Description: DVB info in NIT
381 We need to get the information of a DVB stream that are in the NIT (current program, next program, ...)
388 Description: IceCast/ShoutCast serving
389 This would be a nice thing for the sake of completeness of VLC's streaming capabilities.
396 Description: More/Better Picture filters
397 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.
404 Description: Vout redesign
405 - vout needs distinct splitting into vout_core, vout_window, pic_filter, vout_filter
406 - needs 'assistence' vout windows (clone filters, goom) etc.
407 - 4:3, 16:9, freeform Aspect Ratio
408 - cropping and padding (do at OS level, but provide a core call to set it up and configure).
409 - OSD at window resolution instead of video res (secondary vout channel)
410 - a OSD needs to be bound to a vout stream (no subs on goom vout)
411 - 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).
418 Description: Subtitle work
419 - better SSA support with postioning, colors etc.
420 - Fix subtitles dialogs (mac done)
427 Description: Automatic charset recognition
428 See if we can use <a href="http://trific.ath.cx/software/enca/">ENCA</a> 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?
436 Port VLC skins to Objective C++ and OSX. Also requires the intf to be a dialog handler.
443 Description: informing user.
444 Implement a system to: <br />
445 - Alert the user of critical errors (cannot play file). Should be blocking. <br />
446 - Ask the user a question (Are you sure? or Try to Fix index of avi? or Overwrite File?)<br />
447 - 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%<br />
448 - present a user/passwd dialog when we get an authentication failure on a stream.<br />
455 Description: Full H323 Videoconferencing
456 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.
457 We also will need SIP support.
464 Description: QuickTime capturing
465 Allow capturing from QuickTime Firewire, USB and PCI devices.
466 Possibly see: <a href="http://bugzilla.videolan.org/cgi-bin/bugzilla/show_bug.cgi?id=416">Bug 416</a>
473 Description: ActiveX control for VLC
474 We need an ActiveX version of VLC for IE intergration
481 Description: export paramaters of an input
482 Export the Media Info of a file/source to a standard xml file for use by other applications. Possibly combine with file "probe'ing".<br />
494 Description: SSL http
495 SSL encrypted HTTP communication. To support protected VoD.<br />
496 The question is how to neatly integrate it into our API. Support for all our http handling plugins means complicating the API. Perhaps we should store the SSL context in the p_sys of the vlc_object that is calling it? Tad dangerous, but would keep stuff simple.
503 Description: http cookies
504 For protected VoD (http://a-select.surfnet.nl)
511 Description: Progressive download playing
512 Allow application/vlc mimetype to launch VLC instead of plugin for video file.
513 Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP.
520 Description: rendezvous announces
521 Apple released the rendezvous code under a Open Source license now. perhaps it can be used. (It's OpenTalk now btw).<br />
522 DMAP protocol announce for videos.
529 Description: SDL vout cleaning
530 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.
537 Description: Electronic Program Guide
538 Integrate a EPG system into VLC.
539 Status: Todo (CryHavoc)
545 Description: a Time Shifting module
546 This module should create TiVo like capabilities for VLC.
547 Status: Todo (CryHavoc)
553 Description: UDP packet reordering
554 Currently we ignore every packet that is too late and just wait for a fresh one.
555 It would be nice to be able to reorder the packets in the buffer to prevent degredation of the signal.
562 Description: Make vlm more user friendly (setup etc)
563 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.
570 Description: Protocol rollover
571 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.
572 However, how spec compliant can this be?<br />
573 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]).
580 Description: NAT issues
581 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 ????
582 Protocol rollover can be a solution for a lot of these issues.
583 Use full DNS names in SDP
590 Description: Gstreamer and Helix API integration
591 See if you can support GStreamer and helix plugins in one way or another.
598 Description: Gnome-vfs support
599 For integration with smb, sftp and other file sharing/mounting methods
606 Description: Matroska muxer
614 Description: TTA decoder
615 TTA is said to be a fast en good lossless codec. Opensource library
616 availabe: http://tta.corecodec.org/
623 Description: Option to automatically deinterlace when needed
624 Mkv stores wether a video track is interlaced in the traxk descriptor
625 libmpeg2 etc output this information in the header AND on a per-picture basis
632 Description: UDF decoder
633 Support for the new XML based subtitle format called UDF
640 Description: Faster deinterlacing
641 Our deinterlacers are relatively slow. DScaler has the best Soft deinterlacers out there.
642 Unfortunatly it is very Win32 focused.
649 Description: More service discovery modules
650 - Port UPnP support from http://sourceforge.net/project/showfiles.php?group_id=89768 <br />
651 - libhal based discovery (should be able to find cd,dvd,capture cards,etc etc <br />
652 - Perhaps a generalized webpage parser (use user supplied templates to parse
653 streams from popular websites )
660 Description: Autoselect a track based on preferred language
661 Problems might exist with formats that don't have headers?
662 Most part easy to do, because the language info is stored in the ES format structs these days.
669 Description: file filters in the open dialog
670 Have default filters in the open dialog. like:
672 Sound Files( .mp3, .ogg, .wav, .m4a, .m4p)<br />
673 Video Files( .avi, .mkv, .mov, .mpg, .m2v, etc)<br />
674 Subtitle Files( .idx, .sub, .utf, .srt)<br />
681 Description: fix subtitle regressions
682 Multi-line subtitles are not aligned correctly. Text subtitles don't work
683 with 32bpp rgb. Investigate behaviour of subpictures when pausing.
687 Difficulty: Easy to Difficult
690 Description: Write some developer documentation
691 Perhaps a skeletal driver in each of the categories, what they need to
692 do, the design decisions, possibilities, or options that drivers in
693 a category might implement. If there is a canonical module for each
694 category or modules that show the range of options that might be mentioned