]> git.sesse.net Git - vlc/blob - TODO
bb1ea769c8778e13db132785a754ee0de9810ccd
[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: Easy\r
24 Platform: any\r
25 Urgency: Urgent\r
26 Description: proper DVD controls\r
27 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
28 Status: Todo\r
29 \r
30 Task\r
31 Difficulty: Easy\r
32 Platform: Linux, Win32\r
33 Urgency: Normal\r
34 Description: Streaming wizard\r
35  Finish the streaming wizard (85% finished)\r
36 Status: Assigned to zorglub\r
37 \r
38 Task\r
39 Difficulty: Easy\r
40 Platform: all\r
41 Urgency: Normal\r
42 Description: configure overview of modules\r
43  configure should report what it will and what it won't build, after it is done running.\r
44 Status: Todo\r
45 \r
46 Task\r
47 Difficulty: Hard\r
48 Platform: WinCE\r
49 Urgency: Wishlist\r
50 Description: WinCE port finalizing\r
51 Sources need to be imported into the VLC source tree.\r
52 Downloads should be added to the main vlc download page. We need an icon for this. \r
53 Status: Assigned to MixerAnderson\r
54 \r
55 Task\r
56 Difficulty: Hard\r
57 Urgency: Normal\r
58 Platform: any\r
59 Description: Dual window in embed mode\r
60 Windows ttaskbar reports two windows in the video embed mode.\r
61 Status: Assigned to gibalou\r
62 \r
63 Task\r
64 Difficulty: Easy\r
65 Urgency: Normal\r
66 Platform: any\r
67 Description: Multichannel downmixing\r
68 5:1 to Stereo proper downmixing\r
69 Status: Todo\r
70 \r
71 Task\r
72 Difficulty: Guru\r
73 Platform: any\r
74 Urgency: Normal\r
75 Description: Demux2 transition\r
76  Complete the transition to demux2. Bughunting and finishing chapter support (80% done)\r
77 Status: Assigned to fenrir\r
78 \r
79 Task\r
80 Difficulty: Guru\r
81 Urgency: Normal\r
82 Platform: any\r
83 Description: Multi-acccess\r
84  Allow several access from an input thread to allow for multi-input (30% done)\r
85 Status: Assigned to fenrir\r
86 \r
87 Task\r
88 Difficulty: Hard\r
89 Urgency: Normal\r
90 Platform: any\r
91 Description: make everything UTF-8 based\r
92  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
93 Status: Todo\r
94 \r
95 Task\r
96 Difficulty: Medium\r
97 Urgency: Wishlist\r
98 Platform: any\r
99 Description: OSD Icons\r
100  Make OSD Icons for Play/Pause/Stop. Integrate them better into the core system.\r
101 Status: Assigned to yoann\r
102 \r
103 Task\r
104 Difficulty: Medium\r
105 Urgency: Wishlist\r
106 Platform: any\r
107 Description: Full blown OSD system \r
108  In the line of freevo etc.\r
109 Status: Todo\r
110 \r
111 Task\r
112 Difficulty: Medium\r
113 Urgency: Normal\r
114 Platform: any\r
115 Description: Rewrite the SAP parser\r
116  The SAP parser is very dirty at the moment, and needs a complete rewrite.\r
117  - caching support\r
118 Status: Assigned to zorglub\r
119 \r
120 Task\r
121 Difficulty: Medium\r
122 Urgency: Normal\r
123 Platform: any\r
124 Description: Tree playlist\r
125  A hierarchized playlist structure, eventually using a media library.\r
126 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
127 Status: Assigned to zorglub\r
128 \r
129 Task\r
130 Difficulty: Easy\r
131 Urgency: Wishlist\r
132 Platform: any\r
133 Description: GSM decoder\r
134 GSM decoder not based on standard reference sources.\r
135 Status: Todo\r
136 \r
137 Task\r
138 Difficulty: Easy\r
139 Urgency: Wishlist\r
140 Platform: any\r
141 Description: MusePack decoder\r
142 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
143 Status: Todo\r
144 \r
145 Task\r
146 Difficulty: Easy\r
147 Urgency: Normal\r
148 Platform: any\r
149 Description: 24 bit LPCM\r
150 - Increasingly more DVDs use 24 bit LPCM sound. We should support it.\r
151 Status: Todo\r
152 \r
153 Task\r
154 Difficulty: Easy\r
155 Urgency: Normal\r
156 Platform: any\r
157 Description: LPCM on mac\r
158 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
159 Status: Todo\r
160 \r
161 Task\r
162 Difficulty: Easy\r
163 Urgency: Wishlist\r
164 Platform: any\r
165 Description: APE decoder\r
166 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
167 Status: Todo\r
168 \r
169 Task\r
170 Difficulty: Easy\r
171 Urgency: Wishlist\r
172 Platform: any\r
173 Description: flash video muxer\r
174 A flash video muxer. FFMPEG can already output flash video. a wast not to make use of that capability.\r
175 Status: Todo\r
176 \r
177 Task\r
178 Task\r
179 Difficulty: Medium\r
180 Urgency: Wishlist\r
181 Platform: any\r
182 Description: Closed Captions/Teletext support\r
183 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
184 Perhaps look at Xawtv, dvbtext and other vbi, vtx systems.\r
185 Status: Todo\r
186 \r
187 Task\r
188 Difficulty: Medium\r
189 Urgency: Wishlist\r
190 Platform: any\r
191 Description: DVB info in NIT\r
192 We need to get the information of a DVB stream that are in the NIT (current program, next program, ...)\r
193 Status: Todo\r
194 \r
195 Task\r
196 Difficulty: Medium\r
197 Urgency: Wishlist\r
198 Platform: any\r
199 Description: IceCast/ShoutCast serving\r
200 This would be a nice thing for the sake of completeness of VLC's streaming capabilities.\r
201 Status: Todo\r
202 \r
203 Task\r
204 Difficulty: Hard\r
205 Urgency: Normal\r
206 Platform: Mac OS X\r
207 Description: New OS X preferences\r
208  New preferences for Mac OS X. Current not suited for Mac Users and several\r
209 Pref. elements are broken (hotkeys and int with string desc.).\r
210 Status: Assigned to thedj\r
211 \r
212 Task\r
213 Difficulty: Hard\r
214 Urgency: Critical\r
215 Platform: OSX\r
216 Description: CoreAudio multichannel audio output.\r
217  Convert to <a href="http://www.mat.ucsb.edu:8000/CoreAudio/108">AUHAL</a> based sytem.\r
218 Still no info over S/PDIF output available.\r
219 Outstanding issues:<br />\r
220  - G5 S/PDIF not working<br />\r
221  - G5 PCM not working because S/PDIF is selected by default, even if not connected.<br />\r
222  - Coreaudio resampler doesn't handle input from lpcm decoder (the samples are too small).\r
223 Status: Todo\r
224 \r
225 Task\r
226 Difficulty: Hard\r
227 Urgency: Normal\r
228 Platform: any\r
229 Description: Stream text subtitles\r
230  Find a a way to stream text subtitles, in TS and in RTP.\r
231   - Find an existing norm\r
232   - Implement it\r
233 (40% done) needs to be tested and validated\r
234 Status: Assigned to fenrir\r
235 \r
236 Task\r
237 Difficulty: Easy\r
238 Urgency: Normal\r
239 Platform: any\r
240 Description: Fix up text subtitles\r
241 Currently the subtitle dialog boxes are out of date and not really useable. Also we need more files to test and verify the current support. Other issues should mostly be dealt with after the vout systems are improved. For SSA support positioning and color needs to be added for instance.\r
242 Status: Todo\r
243 \r
244 Task\r
245 Difficulty: Hard\r
246 Urgency: Normal\r
247 Platform: any\r
248 Description: Rework spu decoder\r
249  The spu decoder needs some serious work\r
250   - Split/merge for dvd menu highlighting\r
251   - Downscaling for divx/mkv etc\r
252   - Chroma independence (YUVA ???)\r
253   - .sub/.idx support\r
254 Status: todo\r
255 \r
256 Task\r
257 Difficulty: Hard\r
258 Urgency: Normal\r
259 Platform: any\r
260 Description: RTSP server\r
261 Full implementation of a RTSP server.\r
262 Status: fenrir has some code\r
263 \r
264 Task\r
265 Difficulty: Hard\r
266 Urgency: Wishlist\r
267 Platform: any\r
268 Description: Picture filters\r
269 picture per picture chained filter system that also works on output streams\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: SPU redesign\r
291 - multiple subpicture channels\r
292 - centralized rendering and use of chroma filters\r
293 - centralized scaling support\r
294 (also look at ogt/cvd sub work)\r
295 Status: Todo\r
296 \r
297 Task\r
298 Difficulty: Guru\r
299 Urgency: Wishlist\r
300 Platform: Mac OS X\r
301 Description: intf / vout dependency\r
302 The application specific parts of the intf need to be brougth to the VLC application core. A valid NSApplication needs to be created on VLC opening, with the dock and menu hidden/disabled, only being generated on VLC intf loading.\r
303 (70% done) need to fix the interfaces again.<br />\r
304 This is mostly implemented, but some mem leaks are now bothering the macosx part. this should be fixed.\r
305 Status: Assigned to DJ\r
306 \r
307 Task\r
308 Difficulty: Guru\r
309 Urgency: Wishlist\r
310 Platform: Mac OS X\r
311 Description: skins2\r
312 Port VLC skins to Objective C++ and OSX. Also requires the intf to be a dialog handler. Is slighly dependant on intf/vout dependency todoitem\r
313 Status: Todo\r
314 \r
315 Task\r
316 Difficulty: Hard\r
317 Urgency: Wishlist\r
318 Platform: any\r
319 Description: Equalizer Graphic control\r
320 Now that VLC has an equalizer, we need a way to control it easily from the GUI.\r
321 ( Done in WX )\r
322 Status: Todo\r
323 \r
324 Task\r
325 Difficulty: Hard\r
326 Urgency: Wishlist\r
327 Platform: any\r
328 Description: informing user.\r
329 Implement a system to: <br />\r
330  - Alert the user of critical errors (cannot play file). Should be blocking. <br />\r
331  - Ask the user a question (Are you sure? or Try to Fix index of avi? or Overwrite File?)<br />\r
332  - Inform the user, without disturbing him. (Buffering stream). This might require a time bases or something perhaps. Because how do we know how long this information should be displayed? Also think of buffering 0-100%<br /> \r
333 Status: Todo\r
334 \r
335 Task\r
336 Difficulty: Hard\r
337 Urgency: Wishlist\r
338 Platform: any\r
339 Description: Full H323 Videoconferencing\r
340 VLC isn't really suited for this yet, because it introduces quite large latencies. This should fixed before the H323 can ever come close to working in VLC.\r
341 Status: Todo\r
342 \r
343 Task\r
344 Difficulty: Guru\r
345 Urgency: Normal\r
346 Platform: Mac OS X\r
347 Description: SVCD support\r
348 libcdio needs to be ported to the Mac to support the cddax and vcdx modules for proper SVCD support\r
349 Status: Todo\r
350 \r
351 Task\r
352 Difficulty: Hard \r
353 Urgency: Wishlist\r
354 Platform: Mac OS X\r
355 Description: QuickTime capturing\r
356 Allow capturing from QuickTime Firewire, USB and PCI devices.\r
357 Possibly see: <a href="http://bugzilla.videolan.org/cgi-bin/bugzilla/show_bug.cgi?id=416">Bug 416</a>\r
358 Status: Todo\r
359 \r
360 Task\r
361 Difficulty: Medium\r
362 Urgency: Normal\r
363 Platform: Mac OS X\r
364 Description: Finish Mac Mozilla plugin\r
365 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
366 Status: Halfway (stalled)\r
367 \r
368 Task\r
369 Difficulty: Easy\r
370 Urgency: Normal\r
371 Platform: any\r
372 Description: Controlling the mozilla plugin\r
373 The mozilla plugin needs to be better controllable (via javascript). \r
374 - retrieve variable values.\r
375 - open VLC media player\r
376 - default html page to control the plugin\r
377 - XUL controls\r
378 (80% done) see:\r
379 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/plugin/vlc.html">Javascript controls</a>\r
380 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/xul/">XUL controls</a>\r
381 Status: Assigned to zorglub\r
382 \r
383 Task\r
384 Difficulty: Hard\r
385 Urgency: Wishlist\r
386 Platform: Windows\r
387 Description: ActiveX control for VLC\r
388  We need an ActiveX version of VLC for IE intergration\r
389 Status: Todo\r
390 \r
391 Task\r
392 Difficulty: Easy\r
393 Urgency: Wishlist\r
394 Platform: any\r
395 Description: export paramaters of an input\r
396  Export the Media Info of a file/source to a standard xml file for use by other applications. Possibly combine with file "probe'ing".\r
397  - AR\r
398  - size\r
399  - bitrate\r
400  - resolution\r
401  - codecs, etc.\r
402 Status: Todo\r
403 \r
404 Task\r
405 Difficulty: Easy\r
406 Urgency: Wishlist\r
407 Platform: any\r
408 Description: SSL http\r
409 SSL encrypted HTTP communication. To support protected VoD.\r
410 Status: Todo\r
411 \r
412 Task\r
413 Difficulty: Hard\r
414 Urgency: Wishlist\r
415 Platform: any\r
416 Description: http cookies\r
417 For protected VoD  (http://a-select.surfnet.nl)\r
418 Status: Todo\r
419 \r
420 Task\r
421 Difficulty: Easy\r
422 Urgency: Wishlist\r
423 Platform: any\r
424 Description: mime-type VLC launching\r
425 Allow application/vlc mimetype to launch VLC instead of plugin for video file.\r
426 Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP.\r
427 Status: Todo\r
428 \r
429 Task\r
430 Difficulty: Hard\r
431 Urgency: Wishlist\r
432 Platform: any\r
433 Description: rendezvous announces\r
434 DMAP protocol announce for videos.\r
435 Status: Todo\r
436 \r
437 Task\r
438 Difficulty: Easy\r
439 Urgency: Wishlist\r
440 Platform: any\r
441 Description: SDL vout cleaning\r
442 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
443 Status: Todo\r
444 \r
445 Task\r
446 Difficulty: Easy\r
447 Urgency: Normal\r
448 Platform: Win32/Linux\r
449 Description: V4L and dshow tuning support\r
450 We need an API that allows us to control the tuning of V4L and dshow TV cards.\r
451 Status: Todo (CryHavoc)\r
452 \r
453 Task\r
454 Difficulty: Easy\r
455 Urgency: Wishlist\r
456 Platform: any\r
457 Description: Electronic Program Guide\r
458 Integrate a EPG system into VLC.\r
459 Status: Todo (CryHavoc)\r
460 \r
461 Task\r
462 Difficulty: Hard\r
463 Urgency: Wishlist\r
464 Platform: any\r
465 Description: a Time Shifting module\r
466 This module should create TiVo like capabilities for VLC.\r
467 Status: Todo (CryHavoc)\r
468 \r
469 Task\r
470 Difficulty: Medium\r
471 Urgency: Wishlist\r
472 Platform: any\r
473 Description: UDP packet reordering\r
474 Currently we ignore every packet that is too late and just wait for a fresh one.\r
475 It would be nice to be able to reorder the packets in the buffer to prevent degredation of the signal.\r
476 Status: Todo\r
477 \r
478 Task\r
479 Difficulty: Easy\r
480 Urgency: Wishlist\r
481 Platform: any\r
482 Description: Make vlm more user friendly (setup etc)\r
483 vlm is kinda a pain to setup if you are not entirely experiences with A/V and streaming or VLC for that matter. It can be heavily improved by updating the vlm http interface.\r
484 Status: Todo\r
485 \r
486 Task\r
487 Difficulty: Medium\r
488 Urgency: Wishlist\r
489 Platform: any\r
490 Description: Protocol rollover\r
491 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
492 However, how spec compliant can this be?<br />\r
493 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
494 Status: Todo\r
495 \r
496 Task\r
497 Difficulty: Hard\r
498 Urgency: Wishlist\r
499 Platform: any\r
500 Description: NAT issues\r
501 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
502 Protocol rollover can be a solution for a lot of these issues.\r
503 Status: Todo\r
504 \r
505 Task\r
506 Difficulty: Medium\r
507 Urgency: Wishlist\r
508 Platform: any\r
509 Description: Gstreamer and Helix API integration\r
510 See if you can support GStreamer and helix plugins in one way or another.\r
511 Status: Todo\r
512 \r
513 Task\r
514 Difficulty: Easy\r
515 Urgency: Wishlist\r
516 Platform: any\r
517 Description: Gnome-vfs support\r
518 For integration with smb, sftp and other file sharing/mounting methods\r
519 Status: Todo\r
520 \r
521 # Do not remove me\r
522 Task\r