]> git.sesse.net Git - vlc/blob - TODO
remember to enable it in the doc for 0.7.3
[vlc] / TODO
1 # VLC Todo
2 # Difficulty values: Easy, Medium, Hard, Guru
3 #
4 # Urgency values: Wishlist, Normal, Important, Critical
5
6 Task
7 Difficulty: Easy
8 Urgency: Critical
9 Platform: any
10 Description: World domination
11  We need to dominate the world
12 Status: Todo
13
14 Task
15 Difficulty: Medium
16 Platform: any
17 Urgency: Wishlist
18 Description: RAR/ZIP/... access
19  An access module that would be able to uncompress compressed files
20 Status: Todo
21
22 Task
23 Difficulty: Easy
24 Platform: any
25 Urgency: Urgent
26 Description: proper DVD controls
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.
28 Status: Todo
29
30 Task
31 Difficulty: Easy
32 Platform: Linux, Win32
33 Urgency: Normal
34 Description: Streaming wizard
35  Finish the streaming wizard (85% finished)
36 Status: Assigned to zorglub
37
38 Task
39 Difficulty: Easy
40 Platform: all
41 Urgency: Normal
42 Description: configure overview of modules
43  configure should report what it will and what it won't build, after it is done running.
44 Status: Todo
45
46 Task
47 Difficulty: Hard
48 Platform: WinCE
49 Urgency: Wishlist
50 Description: WinCE port
51  A WinCE port for PocketPC and the likes. (95% finished)
52 Status: Assigned to MixerAnderson
53
54 Task
55 Difficulty: Hard
56 Urgency: Normal
57 Platform: any
58 Description: Embedded video outputs
59  Embedded video outputs support
60 Status: Assigned to gibalou
61
62 Task
63 Difficulty: Easy
64 Urgency: Normal
65 Platform: any
66 Description: Multichannel downmixing
67 5:1 to Stereo proper downmixing
68 Status: Todo
69
70 Task
71 Difficulty: Guru
72 Platform: any
73 Urgency: Normal
74 Description: Demux2 transition
75  Complete the transition to demux2. Bughunting and finishing chapter support (80% done)
76 Status: Assigned to fenrir
77
78 Task
79 Difficulty: Guru
80 Urgency: Normal
81 Platform: any
82 Description: Multi-acccess
83  Allow several access from an input thread to allow for multi-input (30% done)
84 Status: Assigned to fenrir
85
86 Task
87 Difficulty: Hard
88 Urgency: Normal
89 Platform: any
90 Description: make everything UTF-8 based
91  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.
92 Status: Todo
93
94 Task
95 Difficulty: Medium
96 Urgency: Wishlist
97 Platform: any
98 Description: no blocking primary interface
99 Do away with the strange primary blocking interface. The first interface should be run in the same thread, but not be the blocking call. Load other interfaces in new threads.
100 Status: Todo
101
102 Task
103 Difficulty: Medium
104 Urgency: Wishlist
105 Platform: any
106 Description: OSD Icons
107  Make OSD Icons for Play/Pause/Stop. Integrate them better into the core system.
108 Status: Assigned to yoann
109
110 Task
111 Difficulty: Medium
112 Urgency: Wishlist
113 Platform: any
114 Description: Full blown OSD system 
115  In the line of freevo etc.
116 Status: Todo
117
118 Task
119 Difficulty: Medium
120 Urgency: Normal
121 Platform: any
122 Description: Rewrite the SAP parser
123  The SAP parser is very dirty at the moment, and needs a complete rewrite.
124  - caching support
125 Status: Todo
126
127 Task
128 Difficulty: Medium
129 Urgency: Normal
130 Platform: any
131 Description: Tree playlist
132  A hierarchized playlist structure, eventually using a media library.
133 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</a>
134 Status: Todo
135
136 Task
137 Difficulty: Easy
138 Urgency: Wishlist
139 Platform: any
140 Description: GSM decoder
141 GSM decoder not based on standard reference sources.
142 Status: Todo
143
144 Task
145 Difficulty: Easy
146 Urgency: Wishlist
147 Platform: any
148 Description: MusePack decoder
149 Need I say more? <a href="http://www.hydrogenaudio.org/index.php?showtopic=21775&">MPCdec</a>
150 Status: Todo
151
152 Task
153 Difficulty: Easy
154 Urgency: Normal
155 Platform: any
156 Description: 24 bit LPCM
157 - Increasingly more DVDs use 24 bit LPCM sound. We should support it.
158 Status: Todo
159
160 Task
161 Difficulty: Easy
162 Urgency: Wishlist
163 Platform: any
164 Description: APE decoder
165 Need I say more? <a href="http://www.monkeysaudio.com/">Monkeys Audio (APE)</a> website.
166 Status: Todo
167
168 Task
169 Task
170 Difficulty: Medium
171 Urgency: Wishlist
172 Platform: any
173 Description: Closed Captions/Teletext support
174 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.
175 Perhaps look at Xawtv, dvbtext and other vbi, vtx systems.
176 Status: Todo
177
178 Task
179 Difficulty: Medium
180 Urgency: Wishlist
181 Platform: any
182 Description: DVB info in NIT
183 We need to get the information of a DVB stream that are in the NIT (current program, next program, ...)
184 Status: Todo
185
186
187 Task
188 Difficulty: Hard
189 Urgency: Normal
190 Platform: Mac OS X
191 Description: New OS X preferences
192  New preferences for Mac OS X. Current not suited for Mac Users and several
193 Pref. elements are broken (hotkeys and int with string desc.).
194 Status: Assigned to thedj
195
196 Task
197 Difficulty: Hard
198 Urgency: Critical
199 Platform: OSX
200 Description: CoreAudio multichannel audio output.
201  Convert to <a href="http://www.mat.ucsb.edu:8000/CoreAudio/108">AUHAL</a> based sytem.
202 Still no info over S/PDIF output available.
203 Outstanding issues:<br />
204  - G5 S/PDIF not working<br />
205  - G5 PCM not working because S/PDIF is selected by default, even if not connected.<br />
206  - Coreaudio resampler doesn't handle input from lpcm decoder (the samples are too small).
207 Status: Todo
208
209 Task
210 Difficulty: Hard
211 Urgency: Normal
212 Platform: any
213 Description: Stream text subtitles
214  Find a a way to stream text subtitles, in TS and in RTP.
215   - Find an existing norm
216   - Implement it
217 (40% done) needs to be tested and validated
218 Status: Assigned to fenrir
219
220 Task
221 Difficulty: Easy
222 Urgency: Normal
223 Platform: any
224 Description: Fix up text subtitles
225 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, and the rendering of the subs should be sped up quite a bit (issue with outlining?) Other issues should mostly be dealt with after the vout systems are improved.
226
227 Status: Todo
228
229 Task
230 Difficulty: Hard
231 Urgency: Normal
232 Platform: any
233 Description: Rework spu decoder
234  The spu decoder needs some serious work
235   - Split/merge for dvd menu highlighting
236   - Downscaling for divx/mkv etc
237   - Chroma independence
238   - .sub/.idx support
239 Status: todo
240
241 Task
242 Difficulty: Hard
243 Urgency: Normal
244 Platform: any
245 Description: RTSP server
246 Full implementation of a RTSP server.
247 Status: fenrir has some code
248
249 Task
250 Difficulty: Hard
251 Urgency: Wishlist
252 Platform: any
253 Description: Picture filters
254 picture per picture chained filter system that also works on output streams
255 Status: Todo
256
257 Task
258 Difficulty: Guru
259 Urgency: Wishlist
260 Platform: any
261 Description: Vout redesign
262 - vout needs distinct splitting into vout_core, vout_window, pic_filter, vout_filter
263 - needs 'assistence' vout windows (clone filters, goom) etc.
264 - 4:3, 16:9, freeform Aspect Ratio
265 - cropping and padding (do at OS level, but provide a core call to set it up and configure).
266 - OSD at window resolution instead of video res (secondary vout channel)
267 - a OSD needs to be bound to a vout stream (no subs on goom vout)
268 - 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).
269 Status: Todo
270
271 Task
272 Difficulty: Medium
273 Urgency: Wishlist
274 Platform: any
275 Description: SPU redesign
276 - multiple subpicture channels
277 - centralized rendering and use of chroma filters
278 - centralized scaling support
279 (also look at ogt/cvd sub work)
280 Status: Todo
281
282 Task
283 Difficulty: Guru
284 Urgency: Wishlist
285 Platform: Mac OS X
286 Description: intf / vout dependency
287 The application specific parts of the intf need to be brougth to the VLC application core. A valid NSApplication needs to be created on VLC opening, with the dock and menu hidden/disabled, only being generated on VLC intf loading.
288 (70% done) need to fix the interfaces again.
289 Status: Assigned to DJ
290
291 Task
292 Difficulty: Guru
293 Urgency: Wishlist
294 Platform: Mac OS X
295 Description: skins2
296 Port VLC skins to Objective C++ and OSX. Also requires the intf to be a dialog handler. Is slighly dependant on intf/vout dependency todoitem
297 Status: Todo
298
299 Task
300 Difficulty: Hard
301 Urgency: Wishlist
302 Platform: any
303 Description: Equalizer
304 Implement an equilizer for VLC.
305 Status: Todo
306
307 Task
308 Difficulty: Hard
309 Urgency: Wishlist
310 Platform: any
311 Description: informing user.
312 Implement a system to
313  - Alert the user of critical errors (cannot play file)
314  - Ask the user a question (Are you sure? or Try to Fix index of avi? or Overwrite File?)
315  - Inform the user, without disturbing him. (Buffering stream)
316 Status: Todo
317
318 Task
319 Difficulty: Hard
320 Urgency: Wishlist
321 Platform: any
322 Description: Full H323 Videoconferencing
323 VLC isn't really suited for this yet, because it introduces quite large latencies. This should fixed before the H323 can ever come close to working in VLC.
324 Status: Todo
325
326 Task
327 Difficulty: Guru
328 Urgency: Normal
329 Platform: Mac OS X
330 Description: SVCD support
331 libcdio needs to be ported to the Mac to support the cddax and vcdx modules for proper SVCD support
332 Status: Todo
333
334 Task
335 Difficulty: Hard 
336 Urgency: Wishlist
337 Platform: Mac OS X
338 Description: QuickTime capturing
339 Allow capturing from QuickTime Firewire, USB and PCI devices.
340 Possibly see: <a href="http://bugzilla.videolan.org/cgi-bin/bugzilla/show_bug.cgi?id=416">Bug 416</a>
341 Status: Todo
342
343 Task
344 Difficulty: Medium
345 Urgency: Normal
346 Platform: Mac OS X
347 Description: Finish Mac Mozilla plugin
348 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. 
349 Status: Halfway (stalled)
350
351 Task
352 Difficulty: Easy
353 Urgency: Normal
354 Platform: any
355 Description: Controlling the mozilla plugin
356 The mozilla plugin needs to be better controllable (via javascript). 
357 - retrieve variable values.
358 - open VLC media player
359 - default html page to control the plugin
360 - XUL controls
361 (80% done) see:
362 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/plugin/vlc.html">Javascript controls</a>
363 <a href="http://sierra.via.ecp.fr/~zorglub/vlc/xul/">XUL controls</a>
364 Status: Assigned to zorglub
365
366 Task
367 Difficulty: Hard
368 Urgency: Wishlist
369 Platform: Windows
370 Description: ActiveX control for VLC
371  We need an ActiveX version of VLC for IE intergration
372 Status: Todo
373
374 Task
375 Difficulty: Easy
376 Urgency: Wishlist
377 Platform: any
378 Description: export paramaters of an input
379  Export the Media Info of a file/source to a standard xml file for use by other applications. Possibly combine with file "probe'ing".
380  - AR
381  - size
382  - bitrate
383  - resolution
384  - codecs, etc.
385 Status: Todo
386
387 Task
388 Difficulty: Easy
389 Urgency: Wishlist
390 Platform: any
391 Description: SSL http
392 SSL encrypted HTTP communication. To support protected VoD.
393 Status: Todo
394
395 Task
396 Difficulty: Hard
397 Urgency: Wishlist
398 Platform: any
399 Description: http cookies
400 For protected VoD  (http://a-select.surfnet.nl)
401 Status: Todo
402
403 Task
404 Difficulty: Easy
405 Urgency: Wishlist
406 Platform: any
407 Description: mime-type VLC launching
408 Allow application/vlc mimetype to launch VLC instead of plugin for video file.
409 Allows for Progressive download to TEMP folder from browsers. VLC would play the file in the TEMP.
410 Status: Todo
411
412 Task
413 Difficulty: Hard
414 Urgency: Wishlist
415 Platform: any
416 Description: rendezvous announces
417 DMAP protocol announce for videos.
418 Status: Todo
419
420 Task
421 Difficulty: Easy
422 Urgency: Wishlist
423 Platform: any
424 Description: SDL vout cleaning
425 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.
426 Status: Todo
427
428 Task
429 Difficulty: Easy
430 Urgency: Normal
431 Platform: Win32/Linux
432 Description: V4L and dshow tuning support
433 We need an API that allows us to control the tuning of V4L and dshow TV cards.
434 Status: Todo (CryHavoc)
435
436 Task
437 Difficulty: Easy
438 Urgency: Wishlist
439 Platform: any
440 Description: Electronic Program Guide
441 Integrate a EPG system into VLC.
442 Status: Todo (CryHavoc)
443
444 Task
445 Difficulty: Hard
446 Urgency: Wishlist
447 Platform: any
448 Description: a Time Shifting module
449 This module should create TiVo like capabilities for VLC.
450 Status: Todo (CryHavoc)
451
452 Task
453 Difficulty: Medium
454 Urgency: Wishlist
455 Platform: any
456 Description: UDP packet reordering
457 Currently we ignore every packet that is too late and just wait for a fresh one.
458 It would be nice to be able to reorder the packets in the buffer to prevent degredation of the signal.
459 Status: Todo
460
461 Task
462 Difficulty: Easy
463 Urgency: Wishlist
464 Platform: any
465 Description: Make vlm more user friendly (setup etc)
466 vlm is kinda a pain to setup if you are not entirely experiences with A/V and streaming or VLC for that matter. It can be heavily improved by updating the vlm http interface.
467 Status: Todo
468
469 Task
470 Difficulty: Medium
471 Urgency: Wishlist
472 Platform: any
473 Description: Protocol rollover
474 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.
475 However, how spec compliant can this be?
476 Status: Todo
477
478 Task
479 Difficulty: Hard
480 Urgency: Wishlist
481 Platform: any
482 Description: NAT issues
483 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 ????
484 Status: Todo
485
486 Task
487 Difficulty: Medium
488 Urgency: Wishlist
489 Platform: any
490 Description: Gstreamer and Helix API integration
491 See if you can support GStreamer and helix plugins in one way or another.
492 Status: Todo
493
494 Task
495 Difficulty: Easy
496 Urgency: Wishlist
497 Platform: any
498 Description: Gnome-vfs support
499 For integration with smb, sftp and other file sharing/mounting methods
500 Status: Todo
501
502 # Do not remove me
503 Task