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