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