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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
The road to xine-lib 1.0
========================
this only relates to the xine engine (xine-lib), not xine
frontends
1-rc1 First "release candidate". xine's architecture is stable, ie. it
must not be changed before 1.0. Features that do not appear in
this roadmap must not be added. Focus is on bugfixes.
1-rc2 Documentation is brought up to date.
1-rc3 The release mechanism is well-defined and documented, along with a
set of test procedures. Some (most?) of the tests are automated.
Now is the time of "soft" feature freeze: Generally, new features
must not be added. However, low-impact stuff, such as new
demuxer, decoder or input plugins are okay.
1-rc4 All user-visible strings should be enclosed in _() for translation.
The majority of config entries should have a proper help string.
Decision should be made, what messages to report on console and
what to put in the log. The config option naming is cleaned up.
1-rc5 There is a well-defined bug handling mechanism, even if it is a
paper based checklist on someones desk. 1.0-critical bugs are
sorted out.
This is the time of "hard" feature freeze: Only bug fixes are
permitted.
(xine-ui should stabilize here, as well, maybe an 0.99.x or
1-alpha/beta/rc series to demonstrate this to end users)
1-rc6 Most compile warnings are fixed. Hopefully the translators have
finished their job as well. xine engine structures have been
looked over and some resorting/reorganizing has been done.
1-rc7 All known bugs should be fixed now. There is a big call for
testers. If they don't find any new bugs for at least a week,
we're there, and 1.0 will only differ in version number and a bit
of documentation. If they do find more bugs, we keep on fixing
them and making weekly rc releases until we get stable...
(xine-ui may have an 1.0 release any time after this point;
before, together with, or after xine-lib 1.0, depending on it's
own 1.0 release goals)
1.0 Due to historical reasons, the day 1.0 is released will be
given the name "christmas".
required for 1.0
----------------
- rc4: provide long language strings via XINE_META_INFO_FULL_LANG in
ogg demuxer and DVD input
- xine bug tracking system?
- add help strings for all post plugins
- review code for stack overflows
(no big review, just grep for the most common mistakes like
sprintf, sscanf)
- review code for malloc()s that don't check their return type
(replace with xine_xmalloc() and make it abort() on failure,
if graceful failure handling is not possible)
- clean up MRL sytax of individual plugins and finish their documentation
optional
--------
- merge the vcdx plugin instead of current vcd plugin
- properly localize all user-visible strings
- rename config entries to a more consistent scheme
(providing automatic config file conversion, of course)
- sort out which messages should go to console and which to xine_log
- look over global structures and do some cleanup
- id3v2.3,v2.4 support
- "metainfo change" event
- new demuxers/decoders (eg. matroska)
- double-check rate estimation in demux_mgeg/mpeg_block
- 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
- directfb video output plugin
- reduce memory footprint (e.g. variable fifo buffer sizes...)
- opengl video output plugin (matthias, sopra at stuttgart university)
- irix audio output plugin (matthias)
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?)
- 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
- Multiple DVD Subtitles displayed at the same time
- Move read cache code from libdvdnav into input_dvd.c
- Support DVD "Trick" modes. Super Fast forward/reverse
- detect raw ac3/a52 in MPEG Program streams.
- detect raw ac3/a52 in MPEG Transport streams that lack PAT/PMT tables.
- handle MPEG PES/PS streams with PES_packet_length = 0
- implement native FLAC demuxer and include ffmpeg FLAC decoder to remove
dependency on libflac
xine's future
=============
- implement lots of audio and video processing filters as post plugins, e.g.
- scaling
- colorspace conversion
- deinterlacing (already done)
- audio resampling
- compressor
...
extend public api so post plugins are instantiated automatically when
needed, but keep explicit post plugin rewiring functions for advanced
video processing frontends
- 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
|