]> git.sesse.net Git - vlc/blob - TODO
* configure.ac: added normvol to the list of plugins.
[vlc] / TODO
1 # VLC Todo\r
2 # Difficulty values: Easy, Medium, Hard, Guru\r
3 #\r
4 # Urgency values: Wishlist, Normal, Important, Critical\r
5 \r
6 Task\r
7 Difficulty: Easy\r
8 Urgency: Critical\r
9 Platform: any\r
10 Description: World domination\r
11  We need to dominate the world\r
12 Status: Todo\r
13 \r
14 Task\r
15 Difficulty: Medium\r
16 Platform: any\r
17 Urgency: Wishlist\r
18 Description: RAR/ZIP/... access\r
19 An access module that would be able to uncompress compressed files.\r
20 Status: Todo\r
21 \r
22 Task\r
23 Difficulty: Medium\r
24 Platform: any\r
25 Urgency: Wishlist\r
26 Description: DVTS support\r
27 DV over RTP support. See <a href="http://www.sfc.wide.ad.jp/DVTS/">DVTS homepage</a>\r
28 Status: Todo\r
29 \r
30 Task\r
31 Difficulty: Easy\r
32 Platform: any\r
33 Urgency: Urgent\r
34 Description: proper DVD controls\r
35 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.\r
36 Status: Todo\r
37 \r
38 Task\r
39 Difficulty: Easy\r
40 Platform: Linux, Win32, Mac OS X\r
41 Urgency: Normal\r
42 Description: Streaming wizard\r
43  Finish the streaming wizard (85% finished)<br />\r
44 The mac version is at 0%\r
45 Status: Assigned to zorglub\r
46 \r
47 Task\r
48 Difficulty: Easy\r
49 Platform: all\r
50 Urgency: Normal\r
51 Description: configure overview of modules\r
52  configure should report what it will and what it won't build, after it is done running.\r
53 Status: Todo\r
54 \r
55 Task\r
56 Difficulty: Hard\r
57 Platform: WinCE\r
58 Urgency: Wishlist\r
59 Description: WinCE port finalizing\r
60 The WinCE port is already quite functional but we still miss a GAPI video output (GDI works but is slow) and an interface.\r
61 Some code already exists for that (http://sourceforge.net/projects/vlcpocketpc/) and would need to be imported into the VLC source tree.\r
62 Downloads should be added to the main vlc download page. We need an icon for this. \r
63 Status: Assigned to MixerAnderson\r
64 \r
65 Task\r
66 Difficulty: Hard\r
67 Urgency: Normal\r
68 Platform: any\r
69 Description: Dual window in embed mode\r
70 Windows taskbar reports two windows in the video embed mode.\r
71 Status: Assigned to gibalou\r
72 \r
73 Task\r
74 Difficulty: Guru\r
75 Urgency: Normal\r
76 Platform: any\r
77 Description: External audio file playing\r
78  Allow several access from an input thread to allow for multi-input<br />\r
79 (90% done) Add GUI elements\r
80 Status: Assigned to fenrir\r
81 \r
82 Task\r
83 Difficulty: Hard\r
84 Urgency: Normal\r
85 Platform: any\r
86 Description: make everything UTF-8 based\r
87  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.\r
88 Status: Todo\r
89 \r
90 Task\r
91 Difficulty: Medium\r
92 Urgency: Wishlist\r
93 Platform: any\r
94 Description: Full blown OSD system \r
95  In the line of freevo etc.\r
96 Status: Todo\r
97 \r
98 Task\r
99 Difficulty: Medium\r
100 Urgency: Normal\r
101 Platform: any\r
102 Description: Rewrite the SAP parser\r
103  The SAP parser is very dirty at the moment, and needs a complete rewrite.\r
104  - caching support<br />\r
105 Mostly finished. Closely tied to the new playlist system\r
106 Status: Assigned to zorglub\r
107 \r
108 Task\r
109 Difficulty: Medium\r
110 Urgency: Normal\r
111 Platform: any\r
112 Description: Tree playlist\r
113  A hierarchized playlist structure, eventually using a media library.\r
114 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 />\r
115 Mostly finished. will be done after 0.8.0\r
116 Status: Assigned to zorglub\r
117 \r
118 Task\r
119 Difficulty: Easy\r
120 Urgency: Normal\r
121 Platform: any\r
122 Description: fix ASX playlist parser\r
123 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/\r
124 Status: Todo\r
125 \r
126 Task\r
127 Difficulty: Medium\r
128 Urgency: Normal\r
129 Platform: any\r
130 Description: fix current muxers.\r
131 Our avi muxer doesn't produce valid files\r
132 Status: Todo\r
133 \r
134 Task\r
135 Task\r
136 Difficulty: Easy\r
137 Urgency: Wishlist\r
138 Platform: any\r
139 Description: GSM decoder\r
140 The <a href="http://kbs.cs.tu-berlin.de/~jutta/toast.html">Toast</a> implementation.\r
141 Status: Todo\r
142 \r
143 Task\r
144 Difficulty: Easy\r
145 Urgency: Wishlist\r
146 Platform: any\r
147 Description: AMR decoder\r
148 We will need to find one that isn't based on the reference code.\r
149 Status: Todo\r
150 \r
151 Task\r
152 Difficulty: Easy\r
153 Urgency: Wishlist\r
154 Platform: any\r
155 Description: MusePack decoder\r
156 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.\r
157 Status: Todo\r
158 \r
159 Task\r
160 Difficulty: Easy\r
161 Urgency: Normal\r
162 Platform: any\r
163 Description: 24 bit LPCM\r
164 - Increasingly more DVDs use 24 bit LPCM sound. We should support it.\r
165 Status: Todo\r
166 \r
167 Task\r
168 Difficulty: Easy\r
169 Urgency: Normal\r
170 Platform: Mac OS X\r
171 Description: LPCM\r
172 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.\r
173 Status: Todo\r
174 \r
175 Task\r
176 Difficulty: Easy\r
177 Urgency: Wishlist\r
178 Platform: any\r
179 Description: APE decoder\r
180 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.\r
181 Status: Todo\r
182 \r
183 Task\r
184 Difficulty: Easy\r
185 Urgency: Wishlist\r
186 Platform: any\r
187 Description: flash video playing/streaming\r
188 A flash video muxer and demuxer. FFMPEG can already output flash video. a waste not to make use of that capability.\r
189 Status: Todo\r
190 \r
191 Task\r
192 Difficulty: Medium\r
193 Urgency: Wishlist\r
194 Platform: any\r
195 Description: Closed Captions/Teletext support\r
196 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.\r
197 Perhaps look at Xawtv, dvbtext and other vbi, vtx systems.\r
198 Status: Todo\r
199 \r
200 Task\r
201 Difficulty: Medium\r
202 Urgency: Wishlist\r
203 Platform: any\r
204 Description: DVB info in NIT\r
205 We need to get the information of a DVB stream that are in the NIT (current program, next program, ...)\r
206 Status: Todo\r
207 \r
208 Task\r
209 Difficulty: Medium\r
210 Urgency: Wishlist\r
211 Platform: any\r
212 Description: IceCast/ShoutCast serving\r
213 This would be a nice thing for the sake of completeness of VLC's streaming capabilities.\r
214 Status: Todo\r
215 \r
216 Task\r
217 Difficulty: Hard\r
218 Urgency: Normal\r
219 Platform: Mac OS X\r
220 Description: New OS X preferences\r
221  New preferences for Mac OS X. Current not suited for Mac Users and several\r
222 Pref. elements are broken (hotkeys and int with string desc.).\r
223 Status: Todo\r
224 \r
225 Task\r
226 Difficulty: Easy\r
227 Urgency: Normal\r
228 Platform: Mac OS X\r
229 Description: OS X bookmarks window\r
230 We miss a bookmarks window like the wxwidget one.\r
231 Status: Todo\r
232 \r
233 Task\r
234 Difficulty: Hard\r
235 Urgency: Critical\r
236 Platform: Mac OS X\r
237 Description: CoreAudio multichannel audio output.\r
238  Convert to <a href="http://www.mat.ucsb.edu:8000/CoreAudio/108">AUHAL</a> based sytem.\r
239 Still no info over S/PDIF output available.\r
240 Outstanding issues:<br />\r
241  - G5 S/PDIF not working<br />\r
242  - G5 PCM not working because S/PDIF is selected by default, even if not connected.<br />\r
243 Status: Todo\r
244 \r
245 Task\r
246 Difficulty: Hard\r
247 Urgency: Normal\r
248 Platform: any\r
249 Description: Stream text subtitles\r
250  Find a a way to stream text subtitles, in TS and in RTP.\r
251   - Find an existing norm\r
252   - Implement it\r
253 <br />Needs testing and validating\r
254 Status: 65% (fenrir)\r
255 \r
256 Task\r
257 Difficulty: Medium\r
258 Urgency: Normal\r
259 Platform: any\r
260 Description: RTSP server\r
261 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>.\r
262 Status: 90%\r
263 \r
264 Task\r
265 Difficulty: Easy\r
266 Urgency: Wishlist\r
267 Platform: any\r
268 Description: More Picture filters\r
269 There are several picture filters (blend, scale), but we can use more (crop, move..)\r
270 Status: Todo\r
271 \r
272 Task\r
273 Difficulty: Guru\r
274 Urgency: Wishlist\r
275 Platform: any\r
276 Description: Vout redesign\r
277 - vout needs distinct splitting into vout_core, vout_window, pic_filter, vout_filter\r
278 - needs 'assistence' vout windows (clone filters, goom) etc.\r
279 - 4:3, 16:9, freeform Aspect Ratio\r
280 - cropping and padding (do at OS level, but provide a core call to set it up and configure).\r
281 - OSD at window resolution instead of video res (secondary vout channel)\r
282 - a OSD needs to be bound to a vout stream (no subs on goom vout)\r
283 - 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).\r
284 Status: Todo\r
285 \r
286 Task\r
287 Difficulty: Medium\r
288 Urgency: Wishlist\r
289 Platform: any\r
290 Description: Subtitle work\r
291 - better SSA support with postioning, colors etc.\r
292 - Vobsub seeking\r
293 - Fix subtitles dialogs (mac done)\r
294 Status: Todo\r
295 \r
296 Task\r
297 Difficulty: Easy\r
298 Urgency: Wishlist\r
299 Platform: any\r
300 Description: Automatic charset recognition\r
301 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?\r
302 Status: Todo\r
303 \r
304 Task\r
305 Difficulty: Guru\r
306 Urgency: Wishlist\r
307 Platform: Mac OS X\r
308 Description: skins2\r
309 Port VLC skins to Objective C++ and OSX. Also requires the intf to be a dialog handler.\r
310 Status: Todo\r
311 \r
312 Task\r
313 Difficulty: Hard\r
314 Urgency: Wishlist\r
315 Platform: any\r
316 Description: informing user.\r
317 Implement a system to: <br />\r
318  - Alert the user of critical errors (cannot play file). Should be blocking. <br />\r
319  - Ask the user a question (Are you sure? or Try to Fix index of avi? or Overwrite File?)<br />\r
320  - 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 /> \r
321  - present a user/passwd dialog when we get an authentication failure on a stream.<br />\r
322 Status: Todo\r
323 \r
324 Task\r
325 Difficulty: Hard\r
326 Urgency: Wishlist\r
327 Platform: any\r
328 Description: Full H323 Videoconferencing\r
329 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.\r
330 We also will need SIP support.\r
331 Status: Todo\r
332 \r
333 Task\r
334 Difficulty: Guru\r
335 Urgency: Normal\r
336 Platform: Mac OS X\r
337 Description: SVCD support\r
338 libcdio needs to be ported to the Mac to support the cddax and vcdx modules for proper SVCD support\r
339 Status: Todo\r
340 \r
341 Task\r
342 Difficulty: Hard \r
343 Urgency: Wishlist\r
344 Platform: Mac OS X\r
345 Description: QuickTime capturing\r
346 Allow capturing from QuickTime Firewire, USB and PCI devices.\r
347 Possibly see: <a href="http://bugzilla.videolan.org/cgi-bin/bugzilla/show_bug.cgi?id=416">Bug 416</a>\r
348 Status: Todo\r
349 \r
350 Task\r
351 Difficulty: Medium\r
352 Urgency: Normal\r
353 Platform: Mac OS X\r
354 Description: Finish Mac Mozilla plugin\r
355 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. \r
356 Status: Halfway (stalled)\r
357 \r
358 Task\r
359 Difficulty: Easy\r
360 Urgency: Normal\r
361 Platform: any\r
362 Description: Controlling the mozilla plugin\r
363 The mozilla plugin needs to be better controllable (via javascript). <br />\r
364 - retrieve variable values.<br />\r
365 - open VLC media player<br />\r
366 - default html page to control the plugin<br />\r
367 - XUL controls<br />\r
368 (80% done) see:<br />\r
369 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/plugin/vlc.html">Javascript controls</a>\r
370 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/xul/">XUL controls</a>\r
371 <a href="http://mplayerplug-in.sourceforge.net/">MPlayer Mozilla plugin</a>\r
372 Status: Assigned to zorglub\r
373 \r
374 Task\r
375 Difficulty: Hard\r
376 Urgency: Wishlist\r
377 Platform: Windows\r
378 Description: ActiveX control for VLC\r
379  We need an ActiveX version of VLC for IE intergration\r
380 Status: Todo\r
381 \r
382 Task\r
383 Difficulty: Easy\r
384 Urgency: Wishlist\r
385 Platform: any\r
386 Description: export paramaters of an input\r
387  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 />\r
388  - AR<br />\r
389  - size<br />\r
390  - bitrate<br />\r
391  - resolution<br />\r
392  - codecs, etc.<br />\r
393 Status: Todo\r
394 \r
395 Task\r
396 Difficulty: Easy\r
397 Urgency: Wishlist\r
398 Platform: any\r
399 Description: SSL http\r
400 SSL encrypted HTTP communication. To support protected VoD.<br />\r
401 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.\r
402 Status: Todo\r
403 \r
404 Task\r
405 Difficulty: Hard\r
406 Urgency: Wishlist\r
407 Platform: any\r
408 Description: http cookies\r
409 For protected VoD  (http://a-select.surfnet.nl)\r
410 Status: Todo\r
411 \r
412 Task\r
413 Difficulty: Easy\r
414 Urgency: Wishlist\r
415 Platform: any\r
416 Description: mime-type VLC launching\r
417 Allow application/vlc mimetype to launch VLC instead of plugin for video file.\r
418 Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP.\r
419 Status: Todo\r
420 \r
421 Task\r
422 Difficulty: Medium\r
423 Urgency: Wishlist\r
424 Platform: any\r
425 Description: rendezvous announces\r
426 Apple released the rendezvous code under a Open Source license now. perhaps it can be used. (It's OpenTalk now btw).<br />\r
427 DMAP protocol announce for videos.\r
428 Status: Todo\r
429 \r
430 Task\r
431 Difficulty: Easy\r
432 Urgency: Wishlist\r
433 Platform: any\r
434 Description: SDL vout cleaning\r
435 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.\r
436 Status: Todo\r
437 \r
438 Task\r
439 Difficulty: Easy\r
440 Urgency: Normal\r
441 Platform: Win32/Linux\r
442 Description: V4L and dshow tuning support\r
443 We need an API that allows us to control the tuning of V4L and dshow TV cards.\r
444 Status: Todo (CryHavoc)\r
445 \r
446 Task\r
447 Difficulty: Easy\r
448 Urgency: Wishlist\r
449 Platform: any\r
450 Description: Electronic Program Guide\r
451 Integrate a EPG system into VLC.\r
452 Status: Todo (CryHavoc)\r
453 \r
454 Task\r
455 Difficulty: Hard\r
456 Urgency: Wishlist\r
457 Platform: any\r
458 Description: a Time Shifting module\r
459 This module should create TiVo like capabilities for VLC.\r
460 Status: Todo (CryHavoc)\r
461 \r
462 Task\r
463 Difficulty: Medium\r
464 Urgency: Wishlist\r
465 Platform: any\r
466 Description: UDP packet reordering\r
467 Currently we ignore every packet that is too late and just wait for a fresh one.\r
468 It would be nice to be able to reorder the packets in the buffer to prevent degredation of the signal.\r
469 Status: Todo\r
470 \r
471 Task\r
472 Difficulty: Easy\r
473 Urgency: Wishlist\r
474 Platform: any\r
475 Description: Make vlm more user friendly (setup etc)\r
476 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.\r
477 Status: Todo\r
478 \r
479 Task\r
480 Difficulty: Easy\r
481 Urgency: Wishlist\r
482 Platform: any\r
483 Description: Protocol rollover\r
484 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.\r
485 However, how spec compliant can this be?<br />\r
486 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]).\r
487 Status: Todo\r
488 \r
489 Task\r
490 Difficulty: Hard\r
491 Urgency: Wishlist\r
492 Platform: any\r
493 Description: NAT issues\r
494 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 ????\r
495 Protocol rollover can be a solution for a lot of these issues.\r
496 Use full DNS names in SDP\r
497 Status: Todo\r
498 \r
499 Task\r
500 Difficulty: Medium\r
501 Urgency: Wishlist\r
502 Platform: any\r
503 Description: Gstreamer and Helix API integration\r
504 See if you can support GStreamer and helix plugins in one way or another.\r
505 Status: Todo\r
506 \r
507 Task\r
508 Difficulty: Easy\r
509 Urgency: Wishlist\r
510 Platform: any\r
511 Description: Gnome-vfs support\r
512 For integration with smb, sftp and other file sharing/mounting methods\r
513 Status: Todo\r
514 \r
515 Task\r
516 Difficulty: Medium\r
517 Platform: any\r
518 Urgency: Normal\r
519 Description: Update matroska demux\r
520  Better Seeking\r
521 Status: Todo\r
522 \r
523 Task\r
524 Difficulty: Hard\r
525 Platform: any\r
526 Urgency: Wishlist\r
527 Description: Matroska muxer\r
528 Status: Todo\r
529 \r
530 Task\r
531 Difficulty: Medium\r
532 Platform: any\r
533 Urgency: Wishlist\r
534 Description: TTA decoder\r
535   TTA is said to be a fast en good lossless codec. Opensource library\r
536   availabe: http://tta.corecodec.org/\r
537 Status: Todo\r
538 \r
539 Task\r
540 Difficulty: Medium\r
541 Platform: any\r
542 Urgency: Wishlist\r
543 Description: Option to automatically deinterlace when needed\r
544   Mkv stores wether a video track is interlaced in the traxk descriptor\r
545   libmpeg2 etc output this information on a per-picture bases\r
546 Status: Todo\r
547 \r
548 Task\r
549 Difficulty: Easy\r
550 Platform: any\r
551 Urgency: Wishlist\r
552 Description: UDF decoder\r
553 Support for the new XML based subtitle format called UDF\r
554 Status: Todo\r
555 \r
556 Task\r
557 Difficulty: Hard\r
558 Platform: any\r
559 Urgency: Wishlist\r
560 Description: Faster deinterlacing\r
561 Our deinterlacers are relatively slow. DScaler has the best Soft deinterlacers out there.\r
562 Unfortunatly it is very Win32 focused.\r
563 \r
564 Status: Todo\r
565 \r
566 \r
567 # Do not remove me\r
568 Task\r