]> git.sesse.net Git - vlc/blob - TODO
extras/contrib/*: don't use gettext *printf replacements on BeOS even
[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 Task\r
172 Difficulty: Medium\r
173 Urgency: Wishlist\r
174 Platform: any\r
175 Description: Closed Captions/Teletext support\r
176 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
177 Perhaps look at Xawtv, dvbtext and other vbi, vtx systems.\r
178 Status: Todo\r
179 \r
180 Task\r
181 Difficulty: Medium\r
182 Urgency: Wishlist\r
183 Platform: any\r
184 Description: DVB info in NIT\r
185 We need to get the information of a DVB stream that are in the NIT (current program, next program, ...)\r
186 Status: Todo\r
187 \r
188 Task\r
189 Difficulty: Medium\r
190 Urgency: Wishlist\r
191 Platform: any\r
192 Description: IceCast/ShoutCast serving\r
193 This would be a nice thing for the sake of completeness of VLC's streaming capabilities.\r
194 Status: Todo\r
195 \r
196 Task\r
197 Difficulty: Hard\r
198 Urgency: Normal\r
199 Platform: Mac OS X\r
200 Description: New OS X preferences\r
201  New preferences for Mac OS X. Current not suited for Mac Users and several\r
202 Pref. elements are broken (hotkeys and int with string desc.).\r
203 Status: Todo\r
204 \r
205 Task\r
206 Difficulty: Hard\r
207 Urgency: Critical\r
208 Platform: OSX\r
209 Description: CoreAudio multichannel audio output.\r
210  Convert to <a href="http://www.mat.ucsb.edu:8000/CoreAudio/108">AUHAL</a> based sytem.\r
211 Still no info over S/PDIF output available.\r
212 Outstanding issues:<br />\r
213  - G5 S/PDIF not working<br />\r
214  - G5 PCM not working because S/PDIF is selected by default, even if not connected.<br />\r
215 Status: Todo\r
216 \r
217 Task\r
218 Difficulty: Hard\r
219 Urgency: Normal\r
220 Platform: any\r
221 Description: Stream text subtitles\r
222  Find a a way to stream text subtitles, in TS and in RTP.\r
223   - Find an existing norm\r
224   - Implement it\r
225 (40% done) needs to be tested and validated\r
226 Status: Assigned to fenrir\r
227 \r
228 Task\r
229 Difficulty: Easy\r
230 Urgency: Normal\r
231 Platform: any\r
232 Description: Fix up text subtitles\r
233 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
234 Status: Todo\r
235 \r
236 Task\r
237 Difficulty: Hard\r
238 Urgency: Normal\r
239 Platform: any\r
240 Description: Rework spu decoder\r
241  The spu decoder needs some serious work\r
242   - Split/merge for dvd menu highlighting\r
243   - Downscaling for divx/mkv etc\r
244   - .sub/.idx support\r
245 Status: todo\r
246 \r
247 Task\r
248 Difficulty: Hard\r
249 Urgency: Normal\r
250 Platform: any\r
251 Description: RTSP server\r
252 Full implementation of a RTSP server.\r
253 Status: fenrir has some code\r
254 \r
255 Task\r
256 Difficulty: Hard\r
257 Urgency: Wishlist\r
258 Platform: any\r
259 Description: Picture filters\r
260 picture per picture chained filter system that also works on output streams\r
261 Status: Todo\r
262 \r
263 Task\r
264 Difficulty: Guru\r
265 Urgency: Wishlist\r
266 Platform: any\r
267 Description: Vout redesign\r
268 - vout needs distinct splitting into vout_core, vout_window, pic_filter, vout_filter\r
269 - needs 'assistence' vout windows (clone filters, goom) etc.\r
270 - 4:3, 16:9, freeform Aspect Ratio\r
271 - cropping and padding (do at OS level, but provide a core call to set it up and configure).\r
272 - OSD at window resolution instead of video res (secondary vout channel)\r
273 - a OSD needs to be bound to a vout stream (no subs on goom vout)\r
274 - 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
275 Status: Todo\r
276 \r
277 Task\r
278 Difficulty: Medium\r
279 Urgency: Wishlist\r
280 Platform: any\r
281 Description: SPU redesign\r
282 - centralized scaling support\r
283 (also look at ogt/cvd sub work)\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: Easy\r
296 Urgency: Wishlist\r
297 Platform: Mac OS X\r
298 Description: Equalizer Graphic control\r
299 Now that VLC has an equalizer, we need a way to control it easily from the GUI.\r
300 Status: Todo\r
301 \r
302 Task\r
303 Difficulty: Hard\r
304 Urgency: Wishlist\r
305 Platform: any\r
306 Description: informing user.\r
307 Implement a system to: <br />\r
308  - Alert the user of critical errors (cannot play file). Should be blocking. <br />\r
309  - Ask the user a question (Are you sure? or Try to Fix index of avi? or Overwrite File?)<br />\r
310  - 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
311 Status: Todo\r
312 \r
313 Task\r
314 Difficulty: Hard\r
315 Urgency: Wishlist\r
316 Platform: any\r
317 Description: Full H323 Videoconferencing\r
318 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
319 Status: Todo\r
320 \r
321 Task\r
322 Difficulty: Guru\r
323 Urgency: Normal\r
324 Platform: Mac OS X\r
325 Description: SVCD support\r
326 libcdio needs to be ported to the Mac to support the cddax and vcdx modules for proper SVCD support\r
327 Status: Todo\r
328 \r
329 Task\r
330 Difficulty: Hard \r
331 Urgency: Wishlist\r
332 Platform: Mac OS X\r
333 Description: QuickTime capturing\r
334 Allow capturing from QuickTime Firewire, USB and PCI devices.\r
335 Possibly see: <a href="http://bugzilla.videolan.org/cgi-bin/bugzilla/show_bug.cgi?id=416">Bug 416</a>\r
336 Status: Todo\r
337 \r
338 Task\r
339 Difficulty: Medium\r
340 Urgency: Normal\r
341 Platform: Mac OS X\r
342 Description: Finish Mac Mozilla plugin\r
343 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
344 Status: Halfway (stalled)\r
345 \r
346 Task\r
347 Difficulty: Easy\r
348 Urgency: Normal\r
349 Platform: any\r
350 Description: Controlling the mozilla plugin\r
351 The mozilla plugin needs to be better controllable (via javascript). \r
352 - retrieve variable values.\r
353 - open VLC media player\r
354 - default html page to control the plugin\r
355 - XUL controls\r
356 (80% done) see:\r
357 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/plugin/vlc.html">Javascript controls</a>\r
358 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/xul/">XUL controls</a>\r
359 Status: Assigned to zorglub\r
360 \r
361 Task\r
362 Difficulty: Hard\r
363 Urgency: Wishlist\r
364 Platform: Windows\r
365 Description: ActiveX control for VLC\r
366  We need an ActiveX version of VLC for IE intergration\r
367 Status: Todo\r
368 \r
369 Task\r
370 Difficulty: Easy\r
371 Urgency: Wishlist\r
372 Platform: any\r
373 Description: export paramaters of an input\r
374  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
375  - AR<br />\r
376  - size<br />\r
377  - bitrate<br />\r
378  - resolution<br />\r
379  - codecs, etc.<br />\r
380 Status: Todo\r
381 \r
382 Task\r
383 Difficulty: Easy\r
384 Urgency: Wishlist\r
385 Platform: any\r
386 Description: SSL http\r
387 SSL encrypted HTTP communication. To support protected VoD.<br />\r
388 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
389 Status: Todo\r
390 \r
391 Task\r
392 Difficulty: Hard\r
393 Urgency: Wishlist\r
394 Platform: any\r
395 Description: http cookies\r
396 For protected VoD  (http://a-select.surfnet.nl)\r
397 Status: Todo\r
398 \r
399 Task\r
400 Difficulty: Easy\r
401 Urgency: Wishlist\r
402 Platform: any\r
403 Description: mime-type VLC launching\r
404 Allow application/vlc mimetype to launch VLC instead of plugin for video file.\r
405 Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP.\r
406 Status: Todo\r
407 \r
408 Task\r
409 Difficulty: Medium\r
410 Urgency: Wishlist\r
411 Platform: any\r
412 Description: rendezvous announces\r
413 Apple released the rendezvous code under a Open Source license now. perhaps it can be used. (It's OpenTalk now btw).<br />\r
414 DMAP protocol announce for videos.\r
415 Status: Todo\r
416 \r
417 Task\r
418 Difficulty: Easy\r
419 Urgency: Wishlist\r
420 Platform: any\r
421 Description: SDL vout cleaning\r
422 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
423 Status: Todo\r
424 \r
425 Task\r
426 Difficulty: Easy\r
427 Urgency: Normal\r
428 Platform: Win32/Linux\r
429 Description: V4L and dshow tuning support\r
430 We need an API that allows us to control the tuning of V4L and dshow TV cards.\r
431 Status: Todo (CryHavoc)\r
432 \r
433 Task\r
434 Difficulty: Easy\r
435 Urgency: Wishlist\r
436 Platform: any\r
437 Description: Electronic Program Guide\r
438 Integrate a EPG system into VLC.\r
439 Status: Todo (CryHavoc)\r
440 \r
441 Task\r
442 Difficulty: Hard\r
443 Urgency: Wishlist\r
444 Platform: any\r
445 Description: a Time Shifting module\r
446 This module should create TiVo like capabilities for VLC.\r
447 Status: Todo (CryHavoc)\r
448 \r
449 Task\r
450 Difficulty: Medium\r
451 Urgency: Wishlist\r
452 Platform: any\r
453 Description: UDP packet reordering\r
454 Currently we ignore every packet that is too late and just wait for a fresh one.\r
455 It would be nice to be able to reorder the packets in the buffer to prevent degredation of the signal.\r
456 Status: Todo\r
457 \r
458 Task\r
459 Difficulty: Easy\r
460 Urgency: Wishlist\r
461 Platform: any\r
462 Description: Make vlm more user friendly (setup etc)\r
463 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
464 Status: Todo\r
465 \r
466 Task\r
467 Difficulty: Easy\r
468 Urgency: Wishlist\r
469 Platform: any\r
470 Description: Protocol rollover\r
471 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
472 However, how spec compliant can this be?<br />\r
473 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
474 Status: Todo\r
475 \r
476 Task\r
477 Difficulty: Hard\r
478 Urgency: Wishlist\r
479 Platform: any\r
480 Description: NAT issues\r
481 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
482 Protocol rollover can be a solution for a lot of these issues.\r
483 Use full DNS names in SDP\r
484 Status: Todo\r
485 \r
486 Task\r
487 Difficulty: Medium\r
488 Urgency: Wishlist\r
489 Platform: any\r
490 Description: Gstreamer and Helix API integration\r
491 See if you can support GStreamer and helix plugins in one way or another.\r
492 Status: Todo\r
493 \r
494 Task\r
495 Difficulty: Easy\r
496 Urgency: Wishlist\r
497 Platform: any\r
498 Description: Gnome-vfs support\r
499 For integration with smb, sftp and other file sharing/mounting methods\r
500 Status: Todo\r
501 \r
502 # Do not remove me\r
503 Task\r