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