]> git.sesse.net Git - vlc/blob - TODO
Added matroska-related items to todo-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 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: Easy\r
207 Urgency: Normal\r
208 Platform: Mac OS X\r
209 Description: OS X bookmarks window\r
210 We miss a bookmarks window like the wxwidget one.\r
211 Status: Todo\r
212 \r
213 Task\r
214 Difficulty: Hard\r
215 Urgency: Critical\r
216 Platform: OSX\r
217 Description: CoreAudio multichannel audio output.\r
218  Convert to <a href="http://www.mat.ucsb.edu:8000/CoreAudio/108">AUHAL</a> based sytem.\r
219 Still no info over S/PDIF output available.\r
220 Outstanding issues:<br />\r
221  - G5 S/PDIF not working<br />\r
222  - G5 PCM not working because S/PDIF is selected by default, even if not connected.<br />\r
223 Status: Todo\r
224 \r
225 Task\r
226 Difficulty: Hard\r
227 Urgency: Normal\r
228 Platform: any\r
229 Description: Stream text subtitles\r
230  Find a a way to stream text subtitles, in TS and in RTP.\r
231   - Find an existing norm\r
232   - Implement it\r
233 <br />Needs testing and validating\r
234 Status: 65% (fenrir)\r
235 \r
236 Task\r
237 Difficulty: Medium\r
238 Urgency: Normal\r
239 Platform: any\r
240 Description: RTSP server\r
241 Full implementation of a RTSP server.\r
242 Status: 80%\r
243 \r
244 Task\r
245 Difficulty: Medium\r
246 Urgency: Normal\r
247 Platform: any\r
248 Description: Add VoD module for VLM\r
249 Add a VoD module for VLM, so that we can create a RTSP server that can\r
250 provide unicast RTSP sessions upon contacting the VoD module. See the following\r
251 <a href="http://via.ecp.fr/via/ml/streaming/200408/msg00082.html">mail</a>.\r
252 Status: Todo\r
253 \r
254 Task\r
255 Difficulty: Easy\r
256 Urgency: Wishlist\r
257 Platform: any\r
258 Description: More Picture filters\r
259 There are several picture filters (blend, scale), but we can use more\r
260 Status: Todo\r
261 \r
262 Task\r
263 Difficulty: Guru\r
264 Urgency: Wishlist\r
265 Platform: any\r
266 Description: Vout redesign\r
267 - vout needs distinct splitting into vout_core, vout_window, pic_filter, vout_filter\r
268 - needs 'assistence' vout windows (clone filters, goom) etc.\r
269 - 4:3, 16:9, freeform Aspect Ratio\r
270 - cropping and padding (do at OS level, but provide a core call to set it up and configure).\r
271 - OSD at window resolution instead of video res (secondary vout channel)\r
272 - a OSD needs to be bound to a vout stream (no subs on goom vout)\r
273 - 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
274 Status: Todo\r
275 \r
276 Task\r
277 Difficulty: Medium\r
278 Urgency: Wishlist\r
279 Platform: any\r
280 Description: Subtitle work\r
281 - scaling support (mostly for Vobsub with avi/mkv)\r
282 - better SSA support with postioning, colors etc.\r
283 - VobSub tracks support\r
284 - Fix subtitles dialogs\r
285 Status: Todo\r
286 \r
287 Task\r
288 Difficulty: Guru\r
289 Urgency: Wishlist\r
290 Platform: Mac OS X\r
291 Description: skins2\r
292 Port VLC skins to Objective C++ and OSX. Also requires the intf to be a dialog handler.\r
293 Status: Todo\r
294 \r
295 Task\r
296 Difficulty: Hard\r
297 Urgency: Wishlist\r
298 Platform: any\r
299 Description: informing user.\r
300 Implement a system to: <br />\r
301  - Alert the user of critical errors (cannot play file). Should be blocking. <br />\r
302  - Ask the user a question (Are you sure? or Try to Fix index of avi? or Overwrite File?)<br />\r
303  - 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
304 Status: Todo\r
305 \r
306 Task\r
307 Difficulty: Hard\r
308 Urgency: Wishlist\r
309 Platform: any\r
310 Description: Full H323 Videoconferencing\r
311 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
312 We also will need SIP support.\r
313 Status: Todo\r
314 \r
315 Task\r
316 Difficulty: Guru\r
317 Urgency: Normal\r
318 Platform: Mac OS X\r
319 Description: SVCD support\r
320 libcdio needs to be ported to the Mac to support the cddax and vcdx modules for proper SVCD support\r
321 Status: Todo\r
322 \r
323 Task\r
324 Difficulty: Hard \r
325 Urgency: Wishlist\r
326 Platform: Mac OS X\r
327 Description: QuickTime capturing\r
328 Allow capturing from QuickTime Firewire, USB and PCI devices.\r
329 Possibly see: <a href="http://bugzilla.videolan.org/cgi-bin/bugzilla/show_bug.cgi?id=416">Bug 416</a>\r
330 Status: Todo\r
331 \r
332 Task\r
333 Difficulty: Medium\r
334 Urgency: Normal\r
335 Platform: Mac OS X\r
336 Description: Finish Mac Mozilla plugin\r
337 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
338 Status: Halfway (stalled)\r
339 \r
340 Task\r
341 Difficulty: Easy\r
342 Urgency: Normal\r
343 Platform: any\r
344 Description: Controlling the mozilla plugin\r
345 The mozilla plugin needs to be better controllable (via javascript). \r
346 - retrieve variable values.\r
347 - open VLC media player\r
348 - default html page to control the plugin\r
349 - XUL controls\r
350 (80% done) see:\r
351 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/plugin/vlc.html">Javascript controls</a>\r
352 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/xul/">XUL controls</a>\r
353 Status: Assigned to zorglub\r
354 \r
355 Task\r
356 Difficulty: Hard\r
357 Urgency: Wishlist\r
358 Platform: Windows\r
359 Description: ActiveX control for VLC\r
360  We need an ActiveX version of VLC for IE intergration\r
361 Status: Todo\r
362 \r
363 Task\r
364 Difficulty: Easy\r
365 Urgency: Wishlist\r
366 Platform: any\r
367 Description: export paramaters of an input\r
368  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
369  - AR<br />\r
370  - size<br />\r
371  - bitrate<br />\r
372  - resolution<br />\r
373  - codecs, etc.<br />\r
374 Status: Todo\r
375 \r
376 Task\r
377 Difficulty: Easy\r
378 Urgency: Wishlist\r
379 Platform: any\r
380 Description: SSL http\r
381 SSL encrypted HTTP communication. To support protected VoD.<br />\r
382 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
383 Status: Todo\r
384 \r
385 Task\r
386 Difficulty: Hard\r
387 Urgency: Wishlist\r
388 Platform: any\r
389 Description: http cookies\r
390 For protected VoD  (http://a-select.surfnet.nl)\r
391 Status: Todo\r
392 \r
393 Task\r
394 Difficulty: Easy\r
395 Urgency: Wishlist\r
396 Platform: any\r
397 Description: mime-type VLC launching\r
398 Allow application/vlc mimetype to launch VLC instead of plugin for video file.\r
399 Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP.\r
400 Status: Todo\r
401 \r
402 Task\r
403 Difficulty: Medium\r
404 Urgency: Wishlist\r
405 Platform: any\r
406 Description: rendezvous announces\r
407 Apple released the rendezvous code under a Open Source license now. perhaps it can be used. (It's OpenTalk now btw).<br />\r
408 DMAP protocol announce for videos.\r
409 Status: Todo\r
410 \r
411 Task\r
412 Difficulty: Easy\r
413 Urgency: Wishlist\r
414 Platform: any\r
415 Description: SDL vout cleaning\r
416 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
417 Status: Todo\r
418 \r
419 Task\r
420 Difficulty: Easy\r
421 Urgency: Normal\r
422 Platform: Win32/Linux\r
423 Description: V4L and dshow tuning support\r
424 We need an API that allows us to control the tuning of V4L and dshow TV cards.\r
425 Status: Todo (CryHavoc)\r
426 \r
427 Task\r
428 Difficulty: Easy\r
429 Urgency: Wishlist\r
430 Platform: any\r
431 Description: Electronic Program Guide\r
432 Integrate a EPG system into VLC.\r
433 Status: Todo (CryHavoc)\r
434 \r
435 Task\r
436 Difficulty: Hard\r
437 Urgency: Wishlist\r
438 Platform: any\r
439 Description: a Time Shifting module\r
440 This module should create TiVo like capabilities for VLC.\r
441 Status: Todo (CryHavoc)\r
442 \r
443 Task\r
444 Difficulty: Medium\r
445 Urgency: Wishlist\r
446 Platform: any\r
447 Description: UDP packet reordering\r
448 Currently we ignore every packet that is too late and just wait for a fresh one.\r
449 It would be nice to be able to reorder the packets in the buffer to prevent degredation of the signal.\r
450 Status: Todo\r
451 \r
452 Task\r
453 Difficulty: Easy\r
454 Urgency: Wishlist\r
455 Platform: any\r
456 Description: Make vlm more user friendly (setup etc)\r
457 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
458 Status: Todo\r
459 \r
460 Task\r
461 Difficulty: Easy\r
462 Urgency: Wishlist\r
463 Platform: any\r
464 Description: Protocol rollover\r
465 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
466 However, how spec compliant can this be?<br />\r
467 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
468 Status: Todo\r
469 \r
470 Task\r
471 Difficulty: Hard\r
472 Urgency: Wishlist\r
473 Platform: any\r
474 Description: NAT issues\r
475 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
476 Protocol rollover can be a solution for a lot of these issues.\r
477 Use full DNS names in SDP\r
478 Status: Todo\r
479 \r
480 Task\r
481 Difficulty: Medium\r
482 Urgency: Wishlist\r
483 Platform: any\r
484 Description: Gstreamer and Helix API integration\r
485 See if you can support GStreamer and helix plugins in one way or another.\r
486 Status: Todo\r
487 \r
488 Task\r
489 Difficulty: Easy\r
490 Urgency: Wishlist\r
491 Platform: any\r
492 Description: Gnome-vfs support\r
493 For integration with smb, sftp and other file sharing/mounting methods\r
494 Status: Todo\r
495 \r
496 Task\r
497 Difficulty: Medium\r
498 Platform: any\r
499 Urgency: Critical\r
500 Description: Update matroska demux\r
501  Support non-default timescale\r
502  Support default track flag\r
503  General bugfixes\r
504  Chapters etc\r
505 Status: Todo\r
506 \r
507 Task\r
508 Difficulty: Hard\r
509 Platform: any\r
510 Urgency: Wishlist\r
511 Description: Matroska muxer\r
512 Status: Todo\r
513 \r
514 # Do not remove me\r
515 Task\r