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