]> git.sesse.net Git - vlc/blob - TODO
* added asx todo item to list
[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 playing\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: Normal\r
117 Platform: any\r
118 Description: fix ASX playlist parser\r
119 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
120 Status: Todo\r
121 \r
122 Task\r
123 Difficulty: Easy\r
124 Urgency: Wishlist\r
125 Platform: any\r
126 Description: GSM decoder\r
127 The <a href="http://kbs.cs.tu-berlin.de/~jutta/toast.html">Toast</a> implementation.\r
128 Status: Todo\r
129 \r
130 Task\r
131 Difficulty: Easy\r
132 Urgency: Wishlist\r
133 Platform: any\r
134 Description: AMR decoder\r
135 We will need to find one that isn't based on the reference code.\r
136 Status: Todo\r
137 \r
138 Task\r
139 Difficulty: Easy\r
140 Urgency: Wishlist\r
141 Platform: any\r
142 Description: MusePack decoder\r
143 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
144 Status: Todo\r
145 \r
146 Task\r
147 Difficulty: Easy\r
148 Urgency: Normal\r
149 Platform: any\r
150 Description: 24 bit LPCM\r
151 - Increasingly more DVDs use 24 bit LPCM sound. We should support it.\r
152 Status: Todo\r
153 \r
154 Task\r
155 Difficulty: Easy\r
156 Urgency: Normal\r
157 Platform: Mac OS X\r
158 Description: LPCM\r
159 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
160 Status: Todo\r
161 \r
162 Task\r
163 Difficulty: Easy\r
164 Urgency: Wishlist\r
165 Platform: any\r
166 Description: APE decoder\r
167 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
168 Status: Todo\r
169 \r
170 Task\r
171 Difficulty: Easy\r
172 Urgency: Wishlist\r
173 Platform: any\r
174 Description: flash video playing/streaming\r
175 A flash video muxer and demuxer. FFMPEG can already output flash video. a wast not to make use of that capability.\r
176 Status: Todo\r
177 \r
178 Task\r
179 Difficulty: Medium\r
180 Urgency: Wishlist\r
181 Platform: any\r
182 Description: Closed Captions/Teletext support\r
183 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
184 Perhaps look at Xawtv, dvbtext and other vbi, vtx systems.\r
185 Status: Todo\r
186 \r
187 Task\r
188 Difficulty: Medium\r
189 Urgency: Wishlist\r
190 Platform: any\r
191 Description: DVB info in NIT\r
192 We need to get the information of a DVB stream that are in the NIT (current program, next program, ...)\r
193 Status: Todo\r
194 \r
195 Task\r
196 Difficulty: Medium\r
197 Urgency: Wishlist\r
198 Platform: any\r
199 Description: IceCast/ShoutCast serving\r
200 This would be a nice thing for the sake of completeness of VLC's streaming capabilities.\r
201 Status: Todo\r
202 \r
203 Task\r
204 Difficulty: Hard\r
205 Urgency: Normal\r
206 Platform: Mac OS X\r
207 Description: New OS X preferences\r
208  New preferences for Mac OS X. Current not suited for Mac Users and several\r
209 Pref. elements are broken (hotkeys and int with string desc.).\r
210 Status: Todo\r
211 \r
212 Task\r
213 Difficulty: Easy\r
214 Urgency: Normal\r
215 Platform: Mac OS X\r
216 Description: OS X bookmarks window\r
217 We miss a bookmarks window like the wxwidget one.\r
218 Status: Todo\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 Status: Todo\r
231 \r
232 Task\r
233 Difficulty: Hard\r
234 Urgency: Normal\r
235 Platform: any\r
236 Description: Stream text subtitles\r
237  Find a a way to stream text subtitles, in TS and in RTP.\r
238   - Find an existing norm\r
239   - Implement it\r
240 <br />Needs testing and validating\r
241 Status: 65% (fenrir)\r
242 \r
243 Task\r
244 Difficulty: Medium\r
245 Urgency: Normal\r
246 Platform: any\r
247 Description: RTSP server\r
248 Full implementation of a RTSP server.\r
249 Status: 90%\r
250 \r
251 Task\r
252 Difficulty: Medium\r
253 Urgency: Normal\r
254 Platform: any\r
255 Description: Add VoD module for VLM\r
256 Add a VoD module for VLM, so that we can create a RTSP server that can\r
257 provide unicast RTSP sessions upon contacting the VoD module. See the following\r
258 <a href="http://via.ecp.fr/via/ml/streaming/200408/msg00082.html">mail</a>.\r
259 Status: 85% done\r
260 \r
261 Task\r
262 Difficulty: Easy\r
263 Urgency: Wishlist\r
264 Platform: any\r
265 Description: More Picture filters\r
266 There are several picture filters (blend, scale), but we can use more\r
267 Status: Todo\r
268 \r
269 Task\r
270 Difficulty: Guru\r
271 Urgency: Wishlist\r
272 Platform: any\r
273 Description: Vout redesign\r
274 - vout needs distinct splitting into vout_core, vout_window, pic_filter, vout_filter\r
275 - needs 'assistence' vout windows (clone filters, goom) etc.\r
276 - 4:3, 16:9, freeform Aspect Ratio\r
277 - cropping and padding (do at OS level, but provide a core call to set it up and configure).\r
278 - OSD at window resolution instead of video res (secondary vout channel)\r
279 - a OSD needs to be bound to a vout stream (no subs on goom vout)\r
280 - 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
281 Status: Todo\r
282 \r
283 Task\r
284 Difficulty: Medium\r
285 Urgency: Wishlist\r
286 Platform: any\r
287 Description: Subtitle work\r
288 - scaling support (mostly for Vobsub with avi/mkv)\r
289 - better SSA support with postioning, colors etc.\r
290 - VobSub tracks support\r
291 - Fix subtitles dialogs\r
292 Status: Todo\r
293 \r
294 Task\r
295 Difficulty: Guru\r
296 Urgency: Wishlist\r
297 Platform: Mac OS X\r
298 Description: skins2\r
299 Port VLC skins to Objective C++ and OSX. Also requires the intf to be a dialog handler.\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 We also will need SIP support.\r
320 Status: Todo\r
321 \r
322 Task\r
323 Difficulty: Guru\r
324 Urgency: Normal\r
325 Platform: Mac OS X\r
326 Description: SVCD support\r
327 libcdio needs to be ported to the Mac to support the cddax and vcdx modules for proper SVCD support\r
328 Status: Todo\r
329 \r
330 Task\r
331 Difficulty: Hard \r
332 Urgency: Wishlist\r
333 Platform: Mac OS X\r
334 Description: QuickTime capturing\r
335 Allow capturing from QuickTime Firewire, USB and PCI devices.\r
336 Possibly see: <a href="http://bugzilla.videolan.org/cgi-bin/bugzilla/show_bug.cgi?id=416">Bug 416</a>\r
337 Status: Todo\r
338 \r
339 Task\r
340 Difficulty: Medium\r
341 Urgency: Normal\r
342 Platform: Mac OS X\r
343 Description: Finish Mac Mozilla plugin\r
344 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
345 Status: Halfway (stalled)\r
346 \r
347 Task\r
348 Difficulty: Easy\r
349 Urgency: Normal\r
350 Platform: any\r
351 Description: Controlling the mozilla plugin\r
352 The mozilla plugin needs to be better controllable (via javascript). \r
353 - retrieve variable values.\r
354 - open VLC media player\r
355 - default html page to control the plugin\r
356 - XUL controls\r
357 (80% done) see:\r
358 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/plugin/vlc.html">Javascript controls</a>\r
359 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/xul/">XUL controls</a>\r
360 Status: Assigned to zorglub\r
361 \r
362 Task\r
363 Difficulty: Hard\r
364 Urgency: Wishlist\r
365 Platform: Windows\r
366 Description: ActiveX control for VLC\r
367  We need an ActiveX version of VLC for IE intergration\r
368 Status: Todo\r
369 \r
370 Task\r
371 Difficulty: Easy\r
372 Urgency: Wishlist\r
373 Platform: any\r
374 Description: export paramaters of an input\r
375  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
376  - AR<br />\r
377  - size<br />\r
378  - bitrate<br />\r
379  - resolution<br />\r
380  - codecs, etc.<br />\r
381 Status: Todo\r
382 \r
383 Task\r
384 Difficulty: Easy\r
385 Urgency: Wishlist\r
386 Platform: any\r
387 Description: SSL http\r
388 SSL encrypted HTTP communication. To support protected VoD.<br />\r
389 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
390 Status: Todo\r
391 \r
392 Task\r
393 Difficulty: Hard\r
394 Urgency: Wishlist\r
395 Platform: any\r
396 Description: http cookies\r
397 For protected VoD  (http://a-select.surfnet.nl)\r
398 Status: Todo\r
399 \r
400 Task\r
401 Difficulty: Easy\r
402 Urgency: Wishlist\r
403 Platform: any\r
404 Description: mime-type VLC launching\r
405 Allow application/vlc mimetype to launch VLC instead of plugin for video file.\r
406 Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP.\r
407 Status: Todo\r
408 \r
409 Task\r
410 Difficulty: Medium\r
411 Urgency: Wishlist\r
412 Platform: any\r
413 Description: rendezvous announces\r
414 Apple released the rendezvous code under a Open Source license now. perhaps it can be used. (It's OpenTalk now btw).<br />\r
415 DMAP protocol announce for videos.\r
416 Status: Todo\r
417 \r
418 Task\r
419 Difficulty: Easy\r
420 Urgency: Wishlist\r
421 Platform: any\r
422 Description: SDL vout cleaning\r
423 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
424 Status: Todo\r
425 \r
426 Task\r
427 Difficulty: Easy\r
428 Urgency: Normal\r
429 Platform: Win32/Linux\r
430 Description: V4L and dshow tuning support\r
431 We need an API that allows us to control the tuning of V4L and dshow TV cards.\r
432 Status: Todo (CryHavoc)\r
433 \r
434 Task\r
435 Difficulty: Easy\r
436 Urgency: Wishlist\r
437 Platform: any\r
438 Description: Electronic Program Guide\r
439 Integrate a EPG system into VLC.\r
440 Status: Todo (CryHavoc)\r
441 \r
442 Task\r
443 Difficulty: Hard\r
444 Urgency: Wishlist\r
445 Platform: any\r
446 Description: a Time Shifting module\r
447 This module should create TiVo like capabilities for VLC.\r
448 Status: Todo (CryHavoc)\r
449 \r
450 Task\r
451 Difficulty: Medium\r
452 Urgency: Wishlist\r
453 Platform: any\r
454 Description: UDP packet reordering\r
455 Currently we ignore every packet that is too late and just wait for a fresh one.\r
456 It would be nice to be able to reorder the packets in the buffer to prevent degredation of the signal.\r
457 Status: Todo\r
458 \r
459 Task\r
460 Difficulty: Easy\r
461 Urgency: Wishlist\r
462 Platform: any\r
463 Description: Make vlm more user friendly (setup etc)\r
464 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
465 Status: Todo\r
466 \r
467 Task\r
468 Difficulty: Easy\r
469 Urgency: Wishlist\r
470 Platform: any\r
471 Description: Protocol rollover\r
472 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
473 However, how spec compliant can this be?<br />\r
474 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
475 Status: Todo\r
476 \r
477 Task\r
478 Difficulty: Hard\r
479 Urgency: Wishlist\r
480 Platform: any\r
481 Description: NAT issues\r
482 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
483 Protocol rollover can be a solution for a lot of these issues.\r
484 Use full DNS names in SDP\r
485 Status: Todo\r
486 \r
487 Task\r
488 Difficulty: Medium\r
489 Urgency: Wishlist\r
490 Platform: any\r
491 Description: Gstreamer and Helix API integration\r
492 See if you can support GStreamer and helix plugins in one way or another.\r
493 Status: Todo\r
494 \r
495 Task\r
496 Difficulty: Easy\r
497 Urgency: Wishlist\r
498 Platform: any\r
499 Description: Gnome-vfs support\r
500 For integration with smb, sftp and other file sharing/mounting methods\r
501 Status: Todo\r
502 \r
503 Task\r
504 Difficulty: Medium\r
505 Platform: any\r
506 Urgency: Normal\r
507 Description: Update matroska demux\r
508  Better Seeking\r
509  General bugfixes\r
510 Status: Todo\r
511 \r
512 Task\r
513 Difficulty: Hard\r
514 Platform: any\r
515 Urgency: Wishlist\r
516 Description: Matroska muxer\r
517 Status: Todo\r
518 \r
519 # Do not remove me\r
520 Task\r