]> git.sesse.net Git - vlc/blob - TODO
contrib system adapted for BeOS (need to set LIBRARY_PATH and BELIBRARIES)
[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: no blocking primary interface\r
100 Do away with the strange primary blocking interface. The first interface should be run in the same thread, but not be the blocking call. Load other interfaces in new threads.\r
101 Status: Todo\r
102 \r
103 Task\r
104 Difficulty: Medium\r
105 Urgency: Wishlist\r
106 Platform: any\r
107 Description: OSD Icons\r
108  Make OSD Icons for Play/Pause/Stop. Integrate them better into the core system.\r
109 Status: Assigned to yoann\r
110 \r
111 Task\r
112 Difficulty: Medium\r
113 Urgency: Wishlist\r
114 Platform: any\r
115 Description: Full blown OSD system \r
116  In the line of freevo etc.\r
117 Status: Todo\r
118 \r
119 Task\r
120 Difficulty: Medium\r
121 Urgency: Normal\r
122 Platform: any\r
123 Description: Rewrite the SAP parser\r
124  The SAP parser is very dirty at the moment, and needs a complete rewrite.\r
125  - caching support\r
126 Status: Assigned to zorglub\r
127 \r
128 Task\r
129 Difficulty: Medium\r
130 Urgency: Normal\r
131 Platform: any\r
132 Description: Tree playlist\r
133  A hierarchized playlist structure, eventually using a media library.\r
134 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
135 Status: Assigned to zorglub\r
136 \r
137 Task\r
138 Difficulty: Easy\r
139 Urgency: Wishlist\r
140 Platform: any\r
141 Description: GSM decoder\r
142 GSM decoder not based on standard reference sources.\r
143 Status: Todo\r
144 \r
145 Task\r
146 Difficulty: Easy\r
147 Urgency: Wishlist\r
148 Platform: any\r
149 Description: MusePack decoder\r
150 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
151 Status: Todo\r
152 \r
153 Task\r
154 Difficulty: Easy\r
155 Urgency: Normal\r
156 Platform: any\r
157 Description: 24 bit LPCM\r
158 - Increasingly more DVDs use 24 bit LPCM sound. We should support it.\r
159 Status: Todo\r
160 \r
161 Task\r
162 Difficulty: Easy\r
163 Urgency: Normal\r
164 Platform: any\r
165 Description: LPCM on mac\r
166 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
167 Status: Todo\r
168 \r
169 Task\r
170 Difficulty: Easy\r
171 Urgency: Wishlist\r
172 Platform: any\r
173 Description: APE decoder\r
174 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
175 Status: Todo\r
176 \r
177 Task\r
178 Difficulty: Easy\r
179 Urgency: Wishlist\r
180 Platform: any\r
181 Description: flash video muxer\r
182 A flash video muxer. FFMPEG can already output flash video. a wast not to make use of that capability.\r
183 Status: Todo\r
184 \r
185 Task\r
186 Task\r
187 Difficulty: Medium\r
188 Urgency: Wishlist\r
189 Platform: any\r
190 Description: Closed Captions/Teletext support\r
191 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
192 Perhaps look at Xawtv, dvbtext and other vbi, vtx systems.\r
193 Status: Todo\r
194 \r
195 Task\r
196 Difficulty: Medium\r
197 Urgency: Wishlist\r
198 Platform: any\r
199 Description: DVB info in NIT\r
200 We need to get the information of a DVB stream that are in the NIT (current program, next program, ...)\r
201 Status: Todo\r
202 \r
203 Task\r
204 Difficulty: Medium\r
205 Urgency: Wishlist\r
206 Platform: any\r
207 Description: IceCast/ShoutCast serving\r
208 This would be a nice thing for the sake of completeness of VLC's streaming capabilities.\r
209 Status: Todo\r
210 \r
211 Task\r
212 Difficulty: Hard\r
213 Urgency: Normal\r
214 Platform: Mac OS X\r
215 Description: New OS X preferences\r
216  New preferences for Mac OS X. Current not suited for Mac Users and several\r
217 Pref. elements are broken (hotkeys and int with string desc.).\r
218 Status: Assigned to thedj\r
219 \r
220 Task\r
221 Difficulty: Hard\r
222 Urgency: Critical\r
223 Platform: OSX\r
224 Description: CoreAudio multichannel audio output.\r
225  Convert to <a href="http://www.mat.ucsb.edu:8000/CoreAudio/108">AUHAL</a> based sytem.\r
226 Still no info over S/PDIF output available.\r
227 Outstanding issues:<br />\r
228  - G5 S/PDIF not working<br />\r
229  - G5 PCM not working because S/PDIF is selected by default, even if not connected.<br />\r
230  - Coreaudio resampler doesn't handle input from lpcm decoder (the samples are too small).\r
231 Status: Todo\r
232 \r
233 Task\r
234 Difficulty: Hard\r
235 Urgency: Normal\r
236 Platform: any\r
237 Description: Stream text subtitles\r
238  Find a a way to stream text subtitles, in TS and in RTP.\r
239   - Find an existing norm\r
240   - Implement it\r
241 (40% done) needs to be tested and validated\r
242 Status: Assigned to fenrir\r
243 \r
244 Task\r
245 Difficulty: Easy\r
246 Urgency: Normal\r
247 Platform: any\r
248 Description: Fix up text subtitles\r
249 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
250 Status: Todo\r
251 \r
252 Task\r
253 Difficulty: Hard\r
254 Urgency: Normal\r
255 Platform: any\r
256 Description: Rework spu decoder\r
257  The spu decoder needs some serious work\r
258   - Split/merge for dvd menu highlighting\r
259   - Downscaling for divx/mkv etc\r
260   - Chroma independence (YUVA ???)\r
261   - .sub/.idx support\r
262 Status: todo\r
263 \r
264 Task\r
265 Difficulty: Hard\r
266 Urgency: Normal\r
267 Platform: any\r
268 Description: RTSP server\r
269 Full implementation of a RTSP server.\r
270 Status: fenrir has some code\r
271 \r
272 Task\r
273 Difficulty: Hard\r
274 Urgency: Wishlist\r
275 Platform: any\r
276 Description: Picture filters\r
277 picture per picture chained filter system that also works on output streams\r
278 Status: Todo\r
279 \r
280 Task\r
281 Difficulty: Guru\r
282 Urgency: Wishlist\r
283 Platform: any\r
284 Description: Vout redesign\r
285 - vout needs distinct splitting into vout_core, vout_window, pic_filter, vout_filter\r
286 - needs 'assistence' vout windows (clone filters, goom) etc.\r
287 - 4:3, 16:9, freeform Aspect Ratio\r
288 - cropping and padding (do at OS level, but provide a core call to set it up and configure).\r
289 - OSD at window resolution instead of video res (secondary vout channel)\r
290 - a OSD needs to be bound to a vout stream (no subs on goom vout)\r
291 - 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
292 Status: Todo\r
293 \r
294 Task\r
295 Difficulty: Medium\r
296 Urgency: Wishlist\r
297 Platform: any\r
298 Description: SPU redesign\r
299 - multiple subpicture channels\r
300 - centralized rendering and use of chroma filters\r
301 - centralized scaling support\r
302 (also look at ogt/cvd sub work)\r
303 Status: Todo\r
304 \r
305 Task\r
306 Difficulty: Guru\r
307 Urgency: Wishlist\r
308 Platform: Mac OS X\r
309 Description: intf / vout dependency\r
310 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
311 (70% done) need to fix the interfaces again.<br />\r
312 This is mostly implemented, but some mem leaks are now bothering the macosx part. this should be fixed.\r
313 Status: Assigned to DJ\r
314 \r
315 Task\r
316 Difficulty: Guru\r
317 Urgency: Wishlist\r
318 Platform: Mac OS X\r
319 Description: skins2\r
320 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
321 Status: Todo\r
322 \r
323 Task\r
324 Difficulty: Hard\r
325 Urgency: Wishlist\r
326 Platform: any\r
327 Description: Equalizer Graphic control\r
328 Now that VLC has an equalizer, we need a way to control it easily from the GUI.\r
329 ( Done in WX )\r
330 Status: Todo\r
331 \r
332 Task\r
333 Difficulty: Hard\r
334 Urgency: Wishlist\r
335 Platform: any\r
336 Description: informing user.\r
337 Implement a system to: <br />\r
338  - Alert the user of critical errors (cannot play file). Should be blocking. <br />\r
339  - Ask the user a question (Are you sure? or Try to Fix index of avi? or Overwrite File?)<br />\r
340  - 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
341 Status: Todo\r
342 \r
343 Task\r
344 Difficulty: Hard\r
345 Urgency: Wishlist\r
346 Platform: any\r
347 Description: Full H323 Videoconferencing\r
348 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
349 Status: Todo\r
350 \r
351 Task\r
352 Difficulty: Guru\r
353 Urgency: Normal\r
354 Platform: Mac OS X\r
355 Description: SVCD support\r
356 libcdio needs to be ported to the Mac to support the cddax and vcdx modules for proper SVCD support\r
357 Status: Todo\r
358 \r
359 Task\r
360 Difficulty: Hard \r
361 Urgency: Wishlist\r
362 Platform: Mac OS X\r
363 Description: QuickTime capturing\r
364 Allow capturing from QuickTime Firewire, USB and PCI devices.\r
365 Possibly see: <a href="http://bugzilla.videolan.org/cgi-bin/bugzilla/show_bug.cgi?id=416">Bug 416</a>\r
366 Status: Todo\r
367 \r
368 Task\r
369 Difficulty: Medium\r
370 Urgency: Normal\r
371 Platform: Mac OS X\r
372 Description: Finish Mac Mozilla plugin\r
373 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
374 Status: Halfway (stalled)\r
375 \r
376 Task\r
377 Difficulty: Easy\r
378 Urgency: Normal\r
379 Platform: any\r
380 Description: Controlling the mozilla plugin\r
381 The mozilla plugin needs to be better controllable (via javascript). \r
382 - retrieve variable values.\r
383 - open VLC media player\r
384 - default html page to control the plugin\r
385 - XUL controls\r
386 (80% done) see:\r
387 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/plugin/vlc.html">Javascript controls</a>\r
388 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/xul/">XUL controls</a>\r
389 Status: Assigned to zorglub\r
390 \r
391 Task\r
392 Difficulty: Hard\r
393 Urgency: Wishlist\r
394 Platform: Windows\r
395 Description: ActiveX control for VLC\r
396  We need an ActiveX version of VLC for IE intergration\r
397 Status: Todo\r
398 \r
399 Task\r
400 Difficulty: Easy\r
401 Urgency: Wishlist\r
402 Platform: any\r
403 Description: export paramaters of an input\r
404  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
405  - AR\r
406  - size\r
407  - bitrate\r
408  - resolution\r
409  - codecs, etc.\r
410 Status: Todo\r
411 \r
412 Task\r
413 Difficulty: Easy\r
414 Urgency: Wishlist\r
415 Platform: any\r
416 Description: SSL http\r
417 SSL encrypted HTTP communication. To support protected VoD.\r
418 Status: Todo\r
419 \r
420 Task\r
421 Difficulty: Hard\r
422 Urgency: Wishlist\r
423 Platform: any\r
424 Description: http cookies\r
425 For protected VoD  (http://a-select.surfnet.nl)\r
426 Status: Todo\r
427 \r
428 Task\r
429 Difficulty: Easy\r
430 Urgency: Wishlist\r
431 Platform: any\r
432 Description: mime-type VLC launching\r
433 Allow application/vlc mimetype to launch VLC instead of plugin for video file.\r
434 Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP.\r
435 Status: Todo\r
436 \r
437 Task\r
438 Difficulty: Hard\r
439 Urgency: Wishlist\r
440 Platform: any\r
441 Description: rendezvous announces\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 experiences with A/V and streaming or VLC for that matter. It can be heavily improved by updating the vlm http interface.\r
492 Status: Todo\r
493 \r
494 Task\r
495 Difficulty: Medium\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 Status: Todo\r
512 \r
513 Task\r
514 Difficulty: Medium\r
515 Urgency: Wishlist\r
516 Platform: any\r
517 Description: Gstreamer and Helix API integration\r
518 See if you can support GStreamer and helix plugins in one way or another.\r
519 Status: Todo\r
520 \r
521 Task\r
522 Difficulty: Easy\r
523 Urgency: Wishlist\r
524 Platform: any\r
525 Description: Gnome-vfs support\r
526 For integration with smb, sftp and other file sharing/mounting methods\r
527 Status: Todo\r
528 \r
529 # Do not remove me\r
530 Task\r