]> git.sesse.net Git - vlc/blob - TODO
Fixes
[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: Playlist II\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 50% done.<br />\r
116 Todo:<br />\r
117 - Core support<br />\r
118    - **  input options inheritance (down nodes)<br />\r
119    - *** Improve random mode and fix loop<br />\r
120    - *   "Name finder"<br />\r
121    - *   "Protocol rollover" node<br />\r
122    - *** Fix autodeletion<br />\r
123    - *** Item moving/copying facilities<br />\r
124 - Helper modules<br />\r
125    - **  ASX and B4S parsers (see below)<br />\r
126    - *   Rewrite SLP announce discovery<br />\r
127    - *** Finish new SAP parser (see above)<br />\r
128    - **  Adapt CDDAX<br />\r
129    - **  Fix MP4, LIVE.COM<br />\r
130 - *** Implement in MacOS X and Skins 2 interfaces<br />\r
131 - wx implementation :<br />\r
132    - **  Support item move/copy<br />\r
133    - *   Explorer view<br />\r
134    - *** Fix search<br />\r
135    - *** Play Node vs Play all<br />\r
136    - **  Clever update using i_serial<br />\r
137    - *   Playlist preferences panel<br />\r
138    - **  Improve iteminfo dialog<br />\r
139    - **  Support item types<br />\r
140 Status: Assigned to zorglub\r
141 \r
142 Task\r
143 Difficulty: Easy\r
144 Urgency: Normal\r
145 Platform: any\r
146 Description: fix ASX playlist parser\r
147 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
148 Status: Todo\r
149 \r
150 Task\r
151 Difficulty: Medium\r
152 Urgency: Normal\r
153 Platform: any\r
154 Description: fix current muxers.\r
155 Our avi muxer doesn't produce valid files\r
156 Status: Todo\r
157 \r
158 Task\r
159 Task\r
160 Difficulty: Easy\r
161 Urgency: Wishlist\r
162 Platform: any\r
163 Description: GSM decoder\r
164 The <a href="http://kbs.cs.tu-berlin.de/~jutta/toast.html">Toast</a> implementation.\r
165 Status: Todo\r
166 \r
167 Task\r
168 Difficulty: Easy\r
169 Urgency: Wishlist\r
170 Platform: any\r
171 Description: AMR decoder\r
172 We will need to find one that isn't based on the reference code.\r
173 Status: Todo\r
174 \r
175 Task\r
176 Difficulty: Easy\r
177 Urgency: Wishlist\r
178 Platform: any\r
179 Description: MusePack decoder\r
180 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
181 Status: Todo\r
182 \r
183 Task\r
184 Difficulty: Easy\r
185 Urgency: Normal\r
186 Platform: any\r
187 Description: 24 bit LPCM\r
188 - Increasingly more DVDs use 24 bit LPCM sound. We should support it.\r
189 Status: Todo\r
190 \r
191 Task\r
192 Difficulty: Easy\r
193 Urgency: Normal\r
194 Platform: Mac OS X\r
195 Description: LPCM\r
196 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
197 Status: Todo\r
198 \r
199 Task\r
200 Difficulty: Easy\r
201 Urgency: Wishlist\r
202 Platform: any\r
203 Description: APE decoder\r
204 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
205 Status: Todo\r
206 \r
207 Task\r
208 Difficulty: Easy\r
209 Urgency: Wishlist\r
210 Platform: any\r
211 Description: flash video playing/streaming\r
212 A flash video muxer and demuxer. FFMPEG can already output flash video. a waste not to make use of that capability.\r
213 Status: Todo\r
214 \r
215 Task\r
216 Difficulty: Medium\r
217 Urgency: Wishlist\r
218 Platform: any\r
219 Description: Closed Captions/Teletext support\r
220 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
221 Perhaps look at Xawtv, dvbtext and other vbi, vtx systems.\r
222 Status: Todo\r
223 \r
224 Task\r
225 Difficulty: Medium\r
226 Urgency: Wishlist\r
227 Platform: any\r
228 Description: DVB info in NIT\r
229 We need to get the information of a DVB stream that are in the NIT (current program, next program, ...)\r
230 Status: Todo\r
231 \r
232 Task\r
233 Difficulty: Medium\r
234 Urgency: Wishlist\r
235 Platform: any\r
236 Description: IceCast/ShoutCast serving\r
237 This would be a nice thing for the sake of completeness of VLC's streaming capabilities.\r
238 Status: Todo\r
239 \r
240 Task\r
241 Difficulty: Hard\r
242 Urgency: Normal\r
243 Platform: Mac OS X\r
244 Description: New OS X preferences\r
245  New preferences for Mac OS X. Current not suited for Mac Users and several\r
246 Pref. elements are broken (hotkeys and int with string desc.).\r
247 Status: Todo\r
248 \r
249 Task\r
250 Difficulty: Easy\r
251 Urgency: Normal\r
252 Platform: Mac OS X\r
253 Description: OS X bookmarks window\r
254 We miss a bookmarks window like the wxwidget one.\r
255 Status: Todo\r
256 \r
257 Task\r
258 Difficulty: Hard\r
259 Urgency: Critical\r
260 Platform: Mac OS X\r
261 Description: CoreAudio multichannel audio output.\r
262  Convert to <a href="http://www.mat.ucsb.edu:8000/CoreAudio/108">AUHAL</a> based sytem.\r
263 Still no info over S/PDIF output available.\r
264 Outstanding issues:<br />\r
265  - G5 S/PDIF not working<br />\r
266  - G5 PCM not working because S/PDIF is selected by default, even if not connected.<br />\r
267 Status: Todo\r
268 \r
269 Task\r
270 Difficulty: Hard\r
271 Urgency: Normal\r
272 Platform: any\r
273 Description: Stream text subtitles\r
274  Find a a way to stream text subtitles, in TS and in RTP.\r
275   - Find an existing norm\r
276   - Implement it\r
277 <br />Needs testing and validating\r
278 Status: 65% (fenrir)\r
279 \r
280 Task\r
281 Difficulty: Medium\r
282 Urgency: Normal\r
283 Platform: any\r
284 Description: RTSP server\r
285 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
286 Status: 90%\r
287 \r
288 Task\r
289 Difficulty: Easy\r
290 Urgency: Wishlist\r
291 Platform: any\r
292 Description: More Picture filters\r
293 There are several picture filters (blend, scale), but we can use more (crop, move..)\r
294 Status: Todo\r
295 \r
296 Task\r
297 Difficulty: Guru\r
298 Urgency: Wishlist\r
299 Platform: any\r
300 Description: Vout redesign\r
301 - vout needs distinct splitting into vout_core, vout_window, pic_filter, vout_filter\r
302 - needs 'assistence' vout windows (clone filters, goom) etc.\r
303 - 4:3, 16:9, freeform Aspect Ratio\r
304 - cropping and padding (do at OS level, but provide a core call to set it up and configure).\r
305 - OSD at window resolution instead of video res (secondary vout channel)\r
306 - a OSD needs to be bound to a vout stream (no subs on goom vout)\r
307 - 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
308 Status: Todo\r
309 \r
310 Task\r
311 Difficulty: Medium\r
312 Urgency: Wishlist\r
313 Platform: any\r
314 Description: Subtitle work\r
315 - better SSA support with postioning, colors etc.\r
316 - Vobsub seeking\r
317 - Fix subtitles dialogs (mac done)\r
318 Status: Todo\r
319 \r
320 Task\r
321 Difficulty: Easy\r
322 Urgency: Wishlist\r
323 Platform: any\r
324 Description: Automatic charset recognition\r
325 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
326 Status: Todo\r
327 \r
328 Task\r
329 Difficulty: Guru\r
330 Urgency: Wishlist\r
331 Platform: Mac OS X\r
332 Description: skins2\r
333 Port VLC skins to Objective C++ and OSX. Also requires the intf to be a dialog handler.\r
334 Status: Todo\r
335 \r
336 Task\r
337 Difficulty: Hard\r
338 Urgency: Wishlist\r
339 Platform: any\r
340 Description: informing user.\r
341 Implement a system to: <br />\r
342  - Alert the user of critical errors (cannot play file). Should be blocking. <br />\r
343  - Ask the user a question (Are you sure? or Try to Fix index of avi? or Overwrite File?)<br />\r
344  - 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
345  - present a user/passwd dialog when we get an authentication failure on a stream.<br />\r
346 Status: Todo\r
347 \r
348 Task\r
349 Difficulty: Hard\r
350 Urgency: Wishlist\r
351 Platform: any\r
352 Description: Full H323 Videoconferencing\r
353 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
354 We also will need SIP support.\r
355 Status: Todo\r
356 \r
357 Task\r
358 Difficulty: Guru\r
359 Urgency: Normal\r
360 Platform: Mac OS X\r
361 Description: SVCD support\r
362 libcdio needs to be ported to the Mac to support the cddax and vcdx modules for proper SVCD support\r
363 Status: Todo\r
364 \r
365 Task\r
366 Difficulty: Hard \r
367 Urgency: Wishlist\r
368 Platform: Mac OS X\r
369 Description: QuickTime capturing\r
370 Allow capturing from QuickTime Firewire, USB and PCI devices.\r
371 Possibly see: <a href="http://bugzilla.videolan.org/cgi-bin/bugzilla/show_bug.cgi?id=416">Bug 416</a>\r
372 Status: Todo\r
373 \r
374 Task\r
375 Difficulty: Medium\r
376 Urgency: Normal\r
377 Platform: Mac OS X\r
378 Description: Finish Mac Mozilla plugin\r
379 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
380 Status: Halfway (stalled)\r
381 \r
382 Task\r
383 Difficulty: Easy\r
384 Urgency: Normal\r
385 Platform: any\r
386 Description: Controlling the mozilla plugin\r
387 The mozilla plugin needs to be better controllable (via javascript). <br />\r
388 - retrieve variable values.<br />\r
389 - open VLC media player<br />\r
390 - default html page to control the plugin<br />\r
391 - XUL controls<br />\r
392 (80% done) see:<br />\r
393 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/plugin/vlc.html">Javascript controls</a>\r
394 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/xul/">XUL controls</a>\r
395 <a href="http://mplayerplug-in.sourceforge.net/">MPlayer Mozilla plugin</a>\r
396 Status: Assigned to zorglub\r
397 \r
398 Task\r
399 Difficulty: Hard\r
400 Urgency: Wishlist\r
401 Platform: Windows\r
402 Description: ActiveX control for VLC\r
403  We need an ActiveX version of VLC for IE intergration\r
404 Status: Todo\r
405 \r
406 Task\r
407 Difficulty: Easy\r
408 Urgency: Wishlist\r
409 Platform: any\r
410 Description: export paramaters of an input\r
411  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
412  - AR<br />\r
413  - size<br />\r
414  - bitrate<br />\r
415  - resolution<br />\r
416  - codecs, etc.<br />\r
417 Status: Todo\r
418 \r
419 Task\r
420 Difficulty: Easy\r
421 Urgency: Wishlist\r
422 Platform: any\r
423 Description: SSL http\r
424 SSL encrypted HTTP communication. To support protected VoD.<br />\r
425 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
426 Status: Todo\r
427 \r
428 Task\r
429 Difficulty: Hard\r
430 Urgency: Wishlist\r
431 Platform: any\r
432 Description: http cookies\r
433 For protected VoD  (http://a-select.surfnet.nl)\r
434 Status: Todo\r
435 \r
436 Task\r
437 Difficulty: Easy\r
438 Urgency: Wishlist\r
439 Platform: any\r
440 Description: mime-type VLC launching\r
441 Allow application/vlc mimetype to launch VLC instead of plugin for video file.\r
442 Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP.\r
443 Status: Todo\r
444 \r
445 Task\r
446 Difficulty: Medium\r
447 Urgency: Wishlist\r
448 Platform: any\r
449 Description: rendezvous announces\r
450 Apple released the rendezvous code under a Open Source license now. perhaps it can be used. (It's OpenTalk now btw).<br />\r
451 DMAP protocol announce for videos.\r
452 Status: Todo\r
453 \r
454 Task\r
455 Difficulty: Easy\r
456 Urgency: Wishlist\r
457 Platform: any\r
458 Description: SDL vout cleaning\r
459 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
460 Status: Todo\r
461 \r
462 Task\r
463 Difficulty: Easy\r
464 Urgency: Normal\r
465 Platform: Win32/Linux\r
466 Description: V4L and dshow tuning support\r
467 We need an API that allows us to control the tuning of V4L and dshow TV cards.\r
468 Status: Todo (CryHavoc)\r
469 \r
470 Task\r
471 Difficulty: Easy\r
472 Urgency: Wishlist\r
473 Platform: any\r
474 Description: Electronic Program Guide\r
475 Integrate a EPG system into VLC.\r
476 Status: Todo (CryHavoc)\r
477 \r
478 Task\r
479 Difficulty: Hard\r
480 Urgency: Wishlist\r
481 Platform: any\r
482 Description: a Time Shifting module\r
483 This module should create TiVo like capabilities for VLC.\r
484 Status: Todo (CryHavoc)\r
485 \r
486 Task\r
487 Difficulty: Medium\r
488 Urgency: Wishlist\r
489 Platform: any\r
490 Description: UDP packet reordering\r
491 Currently we ignore every packet that is too late and just wait for a fresh one.\r
492 It would be nice to be able to reorder the packets in the buffer to prevent degredation of the signal.\r
493 Status: Todo\r
494 \r
495 Task\r
496 Difficulty: Easy\r
497 Urgency: Wishlist\r
498 Platform: any\r
499 Description: Make vlm more user friendly (setup etc)\r
500 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
501 Status: Todo\r
502 \r
503 Task\r
504 Difficulty: Easy\r
505 Urgency: Wishlist\r
506 Platform: any\r
507 Description: Protocol rollover\r
508 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
509 However, how spec compliant can this be?<br />\r
510 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
511 Status: Todo\r
512 \r
513 Task\r
514 Difficulty: Hard\r
515 Urgency: Wishlist\r
516 Platform: any\r
517 Description: NAT issues\r
518 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
519 Protocol rollover can be a solution for a lot of these issues.\r
520 Use full DNS names in SDP\r
521 Status: Todo\r
522 \r
523 Task\r
524 Difficulty: Medium\r
525 Urgency: Wishlist\r
526 Platform: any\r
527 Description: Gstreamer and Helix API integration\r
528 See if you can support GStreamer and helix plugins in one way or another.\r
529 Status: Todo\r
530 \r
531 Task\r
532 Difficulty: Easy\r
533 Urgency: Wishlist\r
534 Platform: any\r
535 Description: Gnome-vfs support\r
536 For integration with smb, sftp and other file sharing/mounting methods\r
537 Status: Todo\r
538 \r
539 Task\r
540 Difficulty: Medium\r
541 Platform: any\r
542 Urgency: Important\r
543 Description: Update matroska demux\r
544  Better Seeking\r
545 Status: Todo\r
546 \r
547 Task\r
548 Difficulty: Hard\r
549 Platform: any\r
550 Urgency: Wishlist\r
551 Description: Matroska muxer\r
552 Status: Todo\r
553 \r
554 Task\r
555 Difficulty: Medium\r
556 Platform: any\r
557 Urgency: Wishlist\r
558 Description: TTA decoder\r
559   TTA is said to be a fast en good lossless codec. Opensource library\r
560   availabe: http://tta.corecodec.org/\r
561 Status: Todo\r
562 \r
563 Task\r
564 Difficulty: Medium\r
565 Platform: any\r
566 Urgency: Wishlist\r
567 Description: Option to automatically deinterlace when needed\r
568   Mkv stores wether a video track is interlaced in the traxk descriptor\r
569   libmpeg2 etc output this information on a per-picture bases\r
570 Status: Todo\r
571 \r
572 Task\r
573 Difficulty: Easy\r
574 Platform: any\r
575 Urgency: Wishlist\r
576 Description: UDF decoder\r
577 Support for the new XML based subtitle format called UDF\r
578 Status: Todo\r
579 \r
580 Task\r
581 Difficulty: Hard\r
582 Platform: any\r
583 Urgency: Wishlist\r
584 Description: Faster deinterlacing\r
585 Our deinterlacers are relatively slow. DScaler has the best Soft deinterlacers out there.\r
586 Unfortunatly it is very Win32 focused.\r
587 \r
588 Status: Todo\r
589 \r
590 \r
591 # Do not remove me\r
592 Task\r