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