summaryrefslogtreecommitdiff
path: root/TODO
blob: 06ce1658c34895d9079ccc6b8b8b0dd547f67ed4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98

The road to xine-lib 1.0
========================

this only relates to the xine engine (xine-lib), not xine
frontends


required for 1.0
----------------

- update xine hacker's guide
- update / rewrite xine HOWTO (stefan, guenter)
- xine bug tracking system?
- fix stream end detection for real streams
- fix mpeg elementary stream playback (especially logo streams
  with only one frame)

optional
--------

- double-check rate estimation in demux_mgeg/mpeg_block
- log/verbose output macros
- fix cook audio streaming
- better dvd error messages
- fix streaming of small files (e.g. http) 

- rtp / rtsp support:

  - input_rtp
  - rtsp support (currently only real's rtsp derivate is implemented)
  - isma/apple streaming server support (mpeg4ip.sf.net)
  - find out what all those people requesting rtp/multicast/... support
    really want and how to implement it :)
  - videolan streaming server support
  - helix streaming server support

- detect broken savage drivers in health check, disable Xv in that case
- id3v2 (guenter)
- directfb video output plugin
- reduce memory footprint (e.g. variable fifo buffer sizes...)
- bring dxr3 video out to work with aaxine (michael)
- Multiple DVD Subtitles displayed at the same time (jcdutton)
- Move read cache code from libdvdnav into input_dvd.c (jcdutton)
- Support DVD "Trick" modes. Super Fast forward/reverse (jcdutton)
- xvid decoder plugin 
- opengl video output plugin (matthias, sopra at stuttgart university)
- irix audio output plugin (matthias)
- support changing channel for V4L (event already defined in xine.h)

Open Tasks
==========

- port to other OS (Net/OpenBSD, hurd ...?)
- MicroDVD input plugin
- video output synced to vertical blank
  preferably without requiring
  root privileges (XSync extension? MAS?)
- direct playback of vcd images
- resolve issues with ffmpeg's live http streaming server
- videolan streaming support
- MAS support (http://www.mediaapplicationserver.net)
- nonlinear video editing and compositing frontend (michael) => enix
- stream format conversion frontend => enix


xine's future
=============

-  Separation of lots of audio and video processing functionality into post
   plugins:
  - Separate plugins for software scaling, colour space conversion,
    postprocessing, deinterlacing, cropping, audio resampling, software
    volume etc. If it's convenient/efficient plugins can do more than one
    thing at the same time.
  - Decoders set flags suggesting what needs to be done, e.g. ffmpeg decoder
    might suggest postprocessing and cropping.
  - Output drivers advertise what features are supported natively and what
    limitations there are, e.g. scaling and maximum frame size for Xv.
  - Front end informs engine what processing the user requests, e.g. audio
    equaliser
  - xine engine automatically inserts a chain of plugins for carrying out the
    necessary processing.
  Doing this would:
  - Simplify decoder and output plugins, and therefore make developing new
    ones much easier
  - Reduce common code
  - Increase flexibility of the engine
  
  The api should also allow the automatic insertion to be overridden/controlled
  for applications such as video processing.

- see what kind of cooperation can be set up with other media player projects
  - mike will look into moving xine's decoder api closer to the one
    ffmpeg uses
  - check out other media players
  - output, demuxer plugins