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: cli option for audio-channels
27 It's currently not possible to force VLC from stereo to mono mode, or from stereo to reverse stereo or dolby mode. It's one of the few options in VLC that can not yet be forced from Preferences or the commandline.
34 Description: Java wrapping/bindings
35 Allow java apps to use VLC perhaps? Several people have suggested something like this.
40 Platform: win32/macosx
42 Description: OS contextual menu support
43 Create contextual menus for the OS so you can play or enqueue files from the Finder/Explorer directly into VLC. Much like with for instance Winamp.
50 Description: CoreAudio multichannel audio output.
51 Convert to <a href="http://www.mat.ucsb.edu:8000/CoreAudio/108">AUHAL</a> based sytem.
52 Still no info over S/PDIF output available.
53 Outstanding issues:<br />
54 - G5 S/PDIF not working<br />
55 - G5 PCM not working because S/PDIF is selected by default, even if not connected.<br />
62 Description: fix subtitle regressions
63 Investigate behaviour of subpictures when pausing.<br />
68 Difficulty: Easy to Difficult
71 Description: Write some developer documentation
72 Perhaps a skeletal driver in each of the categories, what they need to
73 do, the design decisions, possibilities, or options that drivers in
74 a category might implement. If there is a canonical module for each
75 category or modules that show the range of options that might be mentioned
82 Description: Streaming wizard
83 Make a Streaming wizard for OS X
90 Description: configure overview of modules
91 configure should report what it will and what it won't build, after it is done running.
98 Description: Dual window in embed mode
99 Windows taskbar reports two windows in the video embed mode.
106 Description: Multi-input
107 * Many demuxers don't support it<br />
109 Status: Assigned to fenrir
115 Description: make everything UTF-8 based
116 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.
123 Description: Rewrite the SAP parser
124 The SAP parser is very dirty at the moment, and needs a complete rewrite.
125 - caching support<br />
126 - timeout support<br />
127 - add meta-information to playlist<br />
128 - session version support<br />
129 Status: Assigned to zorglub (80% done)
135 Description: Playlist II
136 A hierarchized playlist structure, eventually using a media library.
137 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 />
141 - *** Consider changing calls to playlist_Control into playlist_LockControl
142 - * "Name finder"<br />
143 - * "Protocol rollover" node<br />
144 - *** Item moving/copying facilities<br />
145 - * Ability to save playlist on quit<br />
146 - ? Represent navigation structure as "fake items" ? <br />
147 - Custom playlist format (http://xspf.xiph.org/ looks like a good idea)<br />
148 - Helper modules<br />
149 - ** ASX and B4S parsers (see below)<br />
150 - * Rewrite SLP announce discovery<br />
151 - * Live directory representation<br />
152 - *** Implement in Skins 2 interfaces<br />
153 - wx implementation :<br />
154 - ** Support item move/copy<br />
155 - * Explorer view<br />
156 - * Playlist preferences panel<br />
157 - ** Improve iteminfo dialog<br />
158 Status: Assigned to zorglub
164 Description: Improve bookmarks
165 - Put them in the input_item structure to have them persistent
166 - Add an input option to play the whole file but starting at a given bookmark
173 Description: fix ASX playlist parser
174 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/
181 Description: fix current muxers.<br />
182 Our avi muxer doesn't produce valid files<br />
190 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.<br />
191 This is now fixed, but there is a problem with buffers in the resampler that now sometimes overflows (or rather get changed after they are released). A good method for reproduction seems to be running Finding Nemo for a minute or 8.
198 Description: New OS X preferences
199 New preferences for Mac OS X. Current not suited for Mac Users and several
200 Pref. elements are broken (hotkeys and int with string desc.).
207 Description: OS X bookmarks window
208 We miss a bookmarks window like the wxwidget one.
215 Description: Finish Mac Mozilla plugin
216 The Mac mozilla plugin needs some more work to be useable. Mostly done now,
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?).
245 To have this work correctly, the best solution is to remove knowledge of
246 presets from the filter and give it to ... core ?
251 Platform: Win32, Linux
253 Description: wxWidgets fixes
254 - Rename wxWindows to wxWidgets<br />
255 - Problems with slider (doesn't go where you click, keep updating while seeking
263 Description: SVCD support
264 Support the cddax and vcdx modules for proper SVCD support. libcdio seems to work a tad flacky under OS X. Cause is unknown.
271 Description: Stream text subtitles
272 Find a a way to stream text subtitles, in TS and in RTP.<br />
273 Needs testing and validating<br />
281 Description: RTSP server
282 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>.
288 Platform: Win32/Linux
289 Description: V4L and dshow tuning support
290 We need an API that allows us to control the tuning of V4L and dshow TV cards.
291 Status: Todo (CryHavoc)
297 Description: RAR/ZIP/... access
298 An access module that would be able to uncompress compressed files.
305 Description: DVTS support
306 DV over RTP support. See <a href="http://www.sfc.wide.ad.jp/DVTS/">DVTS homepage</a>
313 Description: WinCE port finalizing
314 The WinCE port needs a little maturing and optimization.
315 Status: Assigned to gibalou
321 Description: Full blown OSD system
322 In the line of freevo etc.
323 (Checkout the correct svn branch)
324 Status: 80% done. Assigned to thedj, jpsaman and yoann
330 Description: GSM decoder
331 The <a href="http://kbs.cs.tu-berlin.de/~jutta/toast.html">Toast</a> implementation.
338 Description: AMR decoder
339 We will need to find one that isn't based on the reference code.
346 Description: MusePack decoder
347 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.
354 Description: APE decoder
355 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.
362 Description: flash video playing/streaming
363 A flash video muxer and demuxer. FFMPEG can already output flash video. a waste not to make use of that capability.
370 Description: Closed Captions/Teletext support
371 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 />
372 - Use ZVBI library for VBI decoding and image generation<br />
373 - ESTI EN 300 472 for EBU teletext support in DVB<br />
374 Perhaps look at Xawtv, dvbtext and other vbi, vtx systems.
381 Description: DVB info in NIT
382 We need to get the information of a DVB stream that are in the NIT (current program, next program, ...)
389 Description: IceCast/ShoutCast serving
390 This would be a nice thing for the sake of completeness of VLC's streaming capabilities.
397 Description: More/Better Picture filters
398 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)<br />
399 - ideas for new filters are a greenwall filter, and a goom filter that mixes goom effects into the vout.
406 Description: Vout redesign
407 - vout needs distinct splitting into vout_core, vout_window, pic_filter, vout_filter<br />
408 - needs 'assistance' vout windows (clone filters, goom) etc.<br />
409 - 4:3, 16:9, freeform Aspect Ratio<br />
410 - cropping and padding (do at OS level, but provide a core call to set it up and configure).<br />
411 - OSD at window resolution instead of video res (secondary vout channel)<br />
412 - a OSD needs to be bound to a vout stream (no subs on goom vout)<br />
413 - 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).<br />
414 - Allow a vout to reuse a window by resizing it (instead of closing and opening).
415 - better hotkeys integration
422 Description: Subtitle work
423 - better SSA support with postioning, colors etc.<br />
430 Description: Automatic charset recognition
431 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?
439 Port VLC skins to Objective C++ and OSX. Also requires the intf to be a dialog provider. There is already some code in the VLC sourcetree.<br />
441 - In a first step, the need for a dialog provider can be easily omitted.<br />
442 - In theory, only a small amount of classes (6 or so) must be written for OS X, implementing predefined interfaces.<br />
443 - The code of <a href="http://www.fltk.org">FLTK</a> could be really helpful to identify the correct functions and see how to use them.
450 Description: informing user.
451 Implement a system to: <br />
452 - Alert the user of critical errors (cannot play file). Should be blocking. <br />
453 - Ask the user a question (Are you sure? or Try to Fix index of avi? or Overwrite File?)<br />
454 - 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 />
455 - present a user/passwd dialog when we get an authentication failure on a stream.<br />
456 Implementation ideas: <br />
457 - via variables and callbacks. How to give answers back ?<br />
458 - via p_intf->pf_* functions.<br />
465 Description: Full H323 Videoconferencing
466 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.
467 We also will need SIP support. A first implementation using a custom protocol is being made.
474 Description: QuickTime capturing
475 Allow capturing from QuickTime Firewire, USB and PCI devices.
476 Possibly see: <a href="http://bugzilla.videolan.org/cgi-bin/bugzilla/show_bug.cgi?id=416">Bug 416</a>
483 Description: export paramaters of an input
484 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 />
496 Description: statistics
497 Count packetloss, bandwith usage and fps for statistics.<br />
504 Description: http cookies
505 For protected VoD (http://a-select.surfnet.nl)
512 Description: Progressive download playing
513 Allow application/vlc mimetype to launch VLC instead of plugin for video file.
514 Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP.
521 Description: rendezvous announces
522 Apple released the rendezvous code under a Open Source license now. perhaps it can be used. (It's OpenTalk now btw).<br />
523 Note: the licence is probably not DFSG compatible. Alternative mDNS implementations exist<br />
524 DMAP protocol announce for videos.
525 Status: Partly done (DAAP only)
531 Description: SDL vout cleaning
532 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.
539 Description: Electronic Program Guide
540 Integrate a EPG system into VLC.
541 Status: Todo (CryHavoc)
547 Description: a Time Shifting module
548 This module should create TiVo like capabilities for VLC.
549 Status: Todo (CryHavoc)
555 Description: UDP packet reordering
556 Currently we ignore every packet that is too late and just wait for a fresh one.
557 It would be nice to be able to reorder the packets in the buffer to prevent degredation of the signal.
564 Description: Make vlm more user friendly (setup etc)
565 vlm is kinda a pain to setup if you are not entirely experienced with A/V and streaming or VLC for that matter.<br />
566 It can be heavily improved by updating the vlm http interface. Using seperate fields for the need paramters of a schedule/source.<br />
567 Also, GUI implementation.
574 Description: Protocol rollover
575 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.
576 However, how spec compliant can this be?<br />
577 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]).
584 Description: NAT issues
585 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 ????
586 Protocol rollover can be a solution for a lot of these issues.
587 Use full DNS names in SDP
594 Description: Gstreamer and Helix API integration
595 See if you can support GStreamer and helix plugins in one way or another.
602 Description: Gnome-vfs support
603 For integration with smb, sftp and other file sharing/mounting methods
610 Description: Matroska muxer
618 Description: TTA decoder
619 TTA is said to be a fast en good lossless codec. Opensource library
620 availabe: http://tta.corecodec.org/
627 Description: Option to automatically deinterlace when needed
628 Mkv stores wether a video track is interlaced in the traxk descriptor
629 libmpeg2 etc output this information in the header AND on a per-picture basis
636 Description: UDF decoder
637 Support for the new XML based subtitle format called UDF
644 Description: Faster deinterlacing
645 Our deinterlacers are relatively slow. DScaler has the best Soft deinterlacers out there.
646 Unfortunatly it is very Win32 focused.
653 Description: More service discovery modules
654 - Port UPnP support from http://sourceforge.net/project/showfiles.php?group_id=89768 <br />
655 - libhal based discovery (should be able to find cd, dvd, capture cards, etc etc <br />
656 - Perhaps a generalized webpage parser (use user supplied templates to parse
657 streams from popular websites )
664 Description: file filters in the open dialog
665 Have default filters in the open dialog. like:
667 Sound Files( .mp3, .ogg, .wav, .m4a, .m4p)<br />
668 Video Files( .avi, .mkv, .mov, .mpg, .m2v, etc)<br />
669 Subtitle Files( .idx, .sub, .utf, .srt)<br />